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 speakers. 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 speakers. 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. Josh