[alsa-devel] Use of _hint() functions and older machines
Randell Jesup
randell1 at jesup.org
Fri Oct 21 05:28:37 CEST 2011
[ 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.
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.
Any suggestions? Tips?
See
http://code.google.com/p/webrtc/source/browse/trunk/src/modules/audio_device/main/source/linux/audio_device_alsa_linux.cc?r=347#2348
for how they're used currently.
Thanks!
--
Randell Jesup
randell-ietf at jesup.org
More information about the Alsa-devel
mailing list