On Fri, 2015-12-11 at 17:08 +0100, Guillaume Desmottes wrote: > Hi there, > > A while ago we (Collabora) implemented a module for Valve changing > the > default policy regarding passthrough streams. > You can find some context on the original thread: http://lists.freede > sk > top.org/archives/pulseaudio-discuss/2014-May/020644.html > > This module never reached upstream but is still shipped and used by > default on SteamOS. > > I'd be interested resurrecting this work and bring it to a state it > could be merged upstream. > What would be needed to reach this? Would fixing Arun's comments from > h > ttp://lists.freedesktop.org/archives/pulseaudio-discuss/2014 > -May/020745.html be enough? Re-enumerating those, plus additional comments: 1. You need to deal with the passthrough sink moving to another sink as well (pretty much the same as the passthrough sink being unlinked) 2. If the sink goes away the corresponding null-sink should too. You may find a situation where a passthrough stream on this sink moves to another sink successfully, in which case you might need to set up a null sink for the new sink and apply the same logic as a new passthrough stream 3. There's a "fake-passthrough" hack that has a FIXME against it -- not sure what this is for 4. The (stream != i) condition in passthrough_stream_removed() seems like a noop? i-> sink will never be equal to null_sink 5. Might be nice to name the null sinks to have the "parent" sink's name This isn't a blocker, but I'd also like a more descriptive name than allow-passthrough, but I can't think of one. :) Maybe someone else has a suggestion. -- Arun