Citation :
Share a single card with multiple applications
This is a topic that comes up quite often on the ALSA lists, and currently, it is not possible to use ALSA to share a single stereo channel between multiple apps, unless the hardware specifically supports such 'multi-open' capability.
Cards that do work like this are the SB Live, and cards that use the 'trident' driver. Other cards cannot be made to share their output channel with multiple applications using ALSA.
Current solutions for this problem include sound servers such as ARTS in KDE, and ESD, the Enlightenment Sound Daemon. Both these solutions provide a shared, network transparent audio device with the major drawback of having large latencies.
Another major effort to support flexible audio routing and distribution on Linux is the JACK project, but applications need to be specifically written to support this low-latency approach.
There is a 'software mixer plugin', but the code is very old, and it has only recently been made available, so needs work to be usable in the current ALSA tree. However, since the code is available now, it is possible that this capability will be added soon. Watch this space.
Please note that the 'share' plugin, as indicated in various places, is useless for this task.
The ALSA documentation includes an 'Unknown Reference' to this software mixer ('smix', or 'pcm_mix' plugin, and should probably be updated with the information that this plugin is not part of the current ALSA tree, and will not be without a lot of work.
|