mumble-voip/mumble — pull request #1198 by Githlar (2014-03-29 12:11:12+00:00)
Title: Pa only attenuate same sink

With custom PulseAudio setups, it may be undesirable for Mumble to attenuate certain applications.

Scenario: Say you are live streaming a game. You have set up a PulseAudio with two virtual sinks: "stream_spkr" that has a loopback to the hardware output and a loopback to "stream", and "stream" that allows for streaming audio to the live stream without having to hear it through the hardware output. The live stream audio is recorded from "stream.monitor". If you attach a music application to the "stream" sink, it will not be coming through the speaker, yet Mumble will still attenuate it as if it were, even though there are no inputs from "stream" to "stream_spkr" or the hardware sink.

This can be undesirable behavior sometimes. If I were live streaming a game and had the sound routed to the "stream" sink and I were running mumble attached to the hardware sink, then Mumble's audio would not be flowing through to the "stream" sink and there would be no reason for Mumble to attenuate it -- yet it does. This would leave the viewers confused as to why the audio is constantly changing volume.

This patch allows for effective whitelisting of applications to prevent them from being attenuated if it's not desired. In order to do this, one simply has to map the application's output to another sink. This is really targeted toward advance audio setups and advance PulseAudio users. It won't affect 99.9% of Mumble users in any way. However, it's a boon to those of us who have custom audio setups like described and want better control over our audio output.