On Thu, 2013-05-02 at 12:55 +0200, David Henningsson wrote:
Just had an idea which I'll write down here before I forget it again...and I'm not saying I'll implement this anytime soon either, but here goes:
There is a device reserve protocol between PulseAudio and JACK2 - when JACK needs the sound card, it'll send a dbus message to PulseAudio and grab a name in D-Bus.
However, there are plenty of applications who like to access ALSA directly, without going through JACK2 or PulseAudio. By making a "reserve" plugin, we could have this functionality for those apps too.
In practice, if the app usually opens "plughw:0" or "hw:0", it could instead open "reserve:plughw:0" or "reserve:hw:0" to also reserve the device from PulseAudio usage while the device is open. Meanwhile, PulseAudio is free to use other audio devices (which is not the case when using e g pasuspender).
How does that sound?
Might be neat to do have desktops set up to do this whenever an ALSA device is opened (that is do it unconditionally when hw:X or plughw:X is opened).
-- Arun