[alsa-devel] Use of _hint() functions and older machines

Colin Guthrie gmane at colin.guthr.ie
Sat Oct 22 20:04:39 CEST 2011

'Twas brillig, and Randell Jesup at 21/10/11 04:28 did gyre and gimble:
> [ I initially posted this to the -users list, but it may be more 
> appropriate here ]
> At Mozilla, we're in the process of adding support for WebRTC 
> (http://webrtc.org/), which is being standardized by the IETF (their 
> part is 'rtcweb'), and the W3C.  This adds real-time audio and video 
> (and data) communication to browsers, peer-to-peer over encrypted channels.
> We have a sound library that can load either Pulse or Alsa.  However, 
> for Alsa, it wants to look at snd_device_name_hint() and also 
> _get_hint() and _free_hint().  It lazy-binds to libasound, so it will 
> dlopen() it and then dlsym() all the symbols it uses; if any fail it 
> unloads the lib and says it's not there.  It  uses the hint functions to 
> build a device list, for example for presenting to the user.
> I have two problems:
> 1) Firefox is build on machines configured with I believe Centos5, and 
> I'm told the machines run Alsa 1.0.12, while the hints() functions were 
> added in 1.0.14 (released June 2007).  Right now I can't build release 
> or 'try' builds on the build servers because of this.

Are you sure? CentOS 5 is fairly new and on a box I have access to:

[csuk at shake ~]$ cat /etc/redhat-release
CentOS release 5.5 (Final)
[csuk at shake ~]$ rpm -q alsa-lib

So I guess it's likely CentOS 4? Even still updating alsa-lib to 1.0.14
should be pretty trivial and safe. Or do you not have any control at all
over the version used?

> 2) We'd like to run on older machines if possible, and official release 
> builds are made on those servers.  On older machines, _hint() aren't 
> available, so even if I make them optional to dlsym-loading, I would 
> need some other method to get the information I assume using older, 
> now-deprecated-or-gone interfaces.

Not sure, but I suspect strongly that you should simply not worry about
this too much. While it's nice to give a good experience to everyone,
people with systems 4 years old have got to expect a degree of
degradation over a more recent install.

My €0.02



Colin Guthrie

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/

More information about the Alsa-devel mailing list