'Twas brillig, and Tanu Kaskinen at 09/02/11 13:07 did gyre and gimble: > Update to the terminology: the "flat sink" feature shall be known as the > "volume sharing" feature from now on. I think that's more descriptive, > and doesn't get so easily mixed with the "flat volume" term. Yeah I think that's a better name! Out of curiosity, there is one thing I didn't quite understand about the original suggestion (I didn't have time to comment on it before going on holiday, so apologies for the lateness of the reply) As I understand it, this is basically the ability for a virtual sink to not implement it's own volume control, but to pass on 1:1 the sink volume changes through to an underlying sink (so modules like remap-sink could basically just pass the volume changes through). Am I right in saying that this could be thought of from a different direction? e.g. if the virtual sink itself supports flat volumes, then it has the responsibility of passing the volumes through? In other words rather than the volume logic looking at the direct connected streams and the streams connected to the filter sink, (i.e. a "pull" module from the h/w sink upwards) it should be possible to implement instead a "push" from the filter sink down. i.e. if a filter sink has only one stream connected, it sets it's sink input (connected to the underlying sink) stream volume to the input stream volume. If there are >1 streams connected to the filter sink, then it does the same flat volume logic as the core and pushes that into it's sink input stream volume. With this push based approach, you do loose some individual granularity, but the net volume of the underlying h/w should be the same as your approach. The concern I have with the approach outlined, is that it adds complexity to the core and I'm not 100% sure how far the chain can go (e.g. can you have a filter-sink1->filter-sink2->filter-sink3->hw-sink pipeline? - with a push model this is possible). Not sure I've described this very well (just got back from hols and had very little sleep and have already waded through mountains of emails!!). Feel free to poke me on IRC tomorrow for a chat if you like. Other peoples opinions on this most welcome :) Cheers Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]