Hello there,
with the emergence of VoIP telephones, an issue that I always found negligible has been growing to a different proportion: having multiple sound streams simultaneously.
To put this into perspective, an example: in my linux box, I usually have a music player rolling. If I want to call someone, I need to stop the music, then make the call. Reasonable, I'd say. But if someone wants to call me, since the music player is using the sound device, the phone won't ring!
It happens that consumer sound cards are 1-input devices. To have simultaneous sources, these have to be software mixed before being sent to the device. Now, decent ALSA-enable software manage this properly: I can listen to three different mp3-files on Xine, XMMS and Mplayer - simultaneously. On the other hand, VLC, Skype, as well as KDE or Gnome apps will try to grab /dev/dsp, and complain it is in use (or conversely, prevent other apps from grabbing it).
Do a search on 'multiple sound source' or 'stream mixing', and you'll get a profusion of results; I couldn't extract the answer I wanted anyway. Usually, one of the next solutions will be proposed:
- use a sound daemon: artsd, esd or jackd
- add a mixer device to alsa config
All very nice, right? Well, each will work if and only if the application has an output module for the respective daemon or alsa.
Did any of you find a sensible solution for this issue? I mean, I could get my hands dirty writing a plugin for, say, ekida, so that I could have on and still hear the phone ringing throughout the BBC radio feed. But if Mplayer, XMMS and Xine are ALSA friendly, why aren't the others?
Cheers,
rdrs
with the emergence of VoIP telephones, an issue that I always found negligible has been growing to a different proportion: having multiple sound streams simultaneously.
To put this into perspective, an example: in my linux box, I usually have a music player rolling. If I want to call someone, I need to stop the music, then make the call. Reasonable, I'd say. But if someone wants to call me, since the music player is using the sound device, the phone won't ring!
It happens that consumer sound cards are 1-input devices. To have simultaneous sources, these have to be software mixed before being sent to the device. Now, decent ALSA-enable software manage this properly: I can listen to three different mp3-files on Xine, XMMS and Mplayer - simultaneously. On the other hand, VLC, Skype, as well as KDE or Gnome apps will try to grab /dev/dsp, and complain it is in use (or conversely, prevent other apps from grabbing it).
Do a search on 'multiple sound source' or 'stream mixing', and you'll get a profusion of results; I couldn't extract the answer I wanted anyway. Usually, one of the next solutions will be proposed:
- use a sound daemon: artsd, esd or jackd
- add a mixer device to alsa config
All very nice, right? Well, each will work if and only if the application has an output module for the respective daemon or alsa.
Did any of you find a sensible solution for this issue? I mean, I could get my hands dirty writing a plugin for, say, ekida, so that I could have on and still hear the phone ringing throughout the BBC radio feed. But if Mplayer, XMMS and Xine are ALSA friendly, why aren't the others?
Cheers,
rdrs
