On 30.9.2010 11:49, Samuel Thibault wrote:
I think you mentioned that the libao output doesn't have such blocking issue, Hynek, can you confirm this?
No, using ALSA directly and using ALSA through libao is still using ALSA, so in the described scenario, it will still prevent Pulse Audio to start. Even if the user prefers Pulse in all his configurations, Pulse audio will fail to start because ALSA will mix in. So fallback is not possible now. Furthermore, libao doesn't contain a function to stop the sound being played, which make it really unsuitable for Speech Dispatcher :( We were however talking about trying to extend libao with this functionality and possibly use it instead of our own audio backends.
This will probably a good enough reason for enabling libao support as fallback (which debian-release will have to agree on).
I think the only solution here is either to 1) Do something in ALSA so that clients attached to DMIX do not actually block Pulse from claiming the soundcard, then reconnect those DMIX clients through Pulse. 2) Have Speech Dispatcher detach from the audio resource when it's session becomes inactive. (So that it doesn't prevent Pulse Audio in an active session to work the soundcard.) Solution #2 sounds much simpler to me and solves the problem for all audio backends, not just ALSA vs. Pulse, but requires changes in Speech Dispatcher, so it won't help us for 0.7.1. Whether #1 is possible, I don't know, but it's advantage would be that between ALSA and Pulse, more conflicts would be resolved than just Speech Dispatcher. Best regards, Hynek -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

