[pulseaudio-discuss] Potential module: persistent-sink

Josh Lehan krellan at krellan.com
Sun Dec 7 00:14:52 PST 2008

Chris Hamilton wrote:
> Is it possible to have a stream stay connected to a sink, be rescued,
> but then be reconnected if the sink that disappeared becomes available
> once again?
> Something similar to rescue-stream and always-sink, but that will try to
> reconstruct the previously existing sink in the meantime.  (For example,
> if it was a network sink, it'll keep trying to reconnect to the host if
> it went down).

I was thinking along similar lines.

I'd like to see a priority list of sinks, that the user could manipulate 
and set into the desired order.

For example, a priority list could be:

1. USB headphones
2. USB speakers
3. Motherboard's onboard audio
4. Null (discard)

If the user configured PulseAudio in this way, sound would default to 
being played through the USB headphones.

If the USB headphones were unplugged, sound would be redirected to USB 

If the USB speakers were also unplugged, sound would be redirected to 
the motherboard's onboard audio chip.

If there was a problem with the onboard audio, sound would finally go to 
the null sink, and be discarded.  Under no circumstances would user 
applications receive an error or block when they try to play sound!

Everything would "just work", even if there is no actual audio being 
played.  This would make for a more pleasant user experience when 
running programs that generate audio (i.e. Flash won't deadlock the 
entire web browser when it tries to open an audio device that's in use).

When the user plugs in USB headphones again, the sound immediately and 
smoothly returns to the USB headphones.

When the user plugs in USB speakers again, nothing happens, because 
sound is already being played through the USB headphones (higher in the 
priority list).  If the user were to later unplug the USB headphones 
again, though, sound would immediately start playing through the USB 

Does this sound like a good model to follow?  This is only an example 
scenario, of course, and the user will need to be free to configure 
their priority list in any manner they see fit.


More information about the pulseaudio-discuss mailing list