[alsa-devel] External PCM hook SO is dlclosed after calling install, making it hard to have hooks in it

Paul Fertser fercerpav at gmail.com
Tue Jun 30 00:11:01 CEST 2009


I've tried to implement an external shared object to be able to
execute arbitrary functions on PCM device opening and closing. After
quite some source code reading i had an almost working but segfaulting
example. This segfault is because snd_dlclose is called right after
calling a hook install function and therefore i can't snd_pcm_hook_add
functions from the same shared object. To me it looks like a bug but
probably i just don't see how this functionality is intended to be
used. Takashi, git-blame showed that it's you who stuffed this dlclose
call that bothers me ;)


Background information:

We're working on audio subsystem for OpenMoko Freerunner. It's an idea
of Joerg Reisenweber to have virtual alsa devices for every reasonable
use-case (like dedicated device for stereout, dedicated device for
recording from gsm etc), for that we need a hook on every device
opening and closing mostly to set up routing inside WM8753
codec. ctl_elems is not enough because we need a more complex locking
scheme (with priorities, some kind of callbacks to the apps using
particular devices etc) and other flexibility.

Be free, use free (http://www.gnu.org/philosophy/free-sw.html) software!
mailto:fercerpav at gmail.com

More information about the Alsa-devel mailing list