'Twas brillig, and Jud Craft at 27/05/09 04:06 did gyre and gimble:
Actually, wait. There is one last thing that might clue me in.
Let's say I have, relative to each other, Firefox/youTube set to 100%
and Banshee set to 80%.
Now, imagine I'm listening to Banshee and my volume is 100%. Does
flat volume mean that if I start to play a Firefox video...that
Firefox will be at 100% and that Pulse will intelligently drop Banshee
In essence...applying my per-app ratios automatically on the fly,
whenever something comes up? I'll be honest, I didn't really think of
it like -that-. That sounds awesome enough that I might need to give
it another chance.
The way I understand it, and apologies if I'm wrong here, is that
Banshess want's 80% and it's the only app playing. In order to achieve
that result, pulse does not scale the stream at all but sets the
underlying hardware volume to 80% (but in dB's yada yada!). So the net
result is I get sound at the right volume.
Then another stream joins that wants 100% So, pulse with start scaling
the Banshee stream to ensure it is scaled in software to 80%, and turn
up the underlying hardware volume to 100%. Net result is that Banshee
continues playing at the same level and sounds the same but the new
stream can be louder.
Essentially, whenever possible pulse is off-loading the scaling to the
h/w, meaning less work in software = less load, and better quality audio
due to the use of the full range of the DAC.
Hope that's right!
Tribalogic Limited [http://www.tribalogic.net/]
Mandriva Linux Contributor [http://www.mandriva.com/]
PulseAudio Hacker [http://www.pulseaudio.org/]
Trac Hacker [http://trac.edgewall.org/]
pulseaudio-discuss mailing list