On Wed, 13.02.08 07:23, Turner, Todd (Todd.Turner at windriver.com) wrote: > Hi, > > I'm new to PulseAudio and I have a question. I am designing a system > that needs to implement audio priorities. Each application will be > able to write to a certain virtual sound device, and I need to > implement this sort of thing: > > virtual audio device A - high priority > virtual audio device B - normal priority > virtual audio device C - low priority > > > What needs to happen is when device A is written to, device B and device > C are muted, when device B is written to C is muted, etc. > > How would I go about doing this with PulseAudio? Can someone point me > in the right direction? Originally these devices were going to be > virtual ALSA devices, not sure exactly if PulseAudio handles virtual > ALSA devices? If the virtual ALSA device is properly implemented, than PA should be fine accessing them. Unfortunately, the fewest virtual ALSA devices *are* implemented properly. You probably should write a small module PA which hooks into the creation fo streams in PA. And everytime a stream is created or removed you do you muting/unmuting logic based on the current state. Should be reasonably easy to do. Unfortunetly however, we don't have much of a documentation of these internals of PA. Hence: read the source, luke. The "glitch-free" brnach in PA SVN now has some basic code to attach prio info to streams. This might be useful to do proper prio based audio routing. Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net ICQ# 11060553 http://0pointer.net/lennart/ GnuPG 0x1A015CC4