On 08/26/2011 03:05 PM, Colin Guthrie wrote:
'Twas brillig, and Colin Guthrie at 25/08/11 17:17 did gyre and gimble:
'Twas brillig, and Arun Raghavan at 25/08/11 17:08 did gyre and gimble:
On Wed, 2011-08-24 at 22:58 +0100, Colin Guthrie wrote:
Hi,
This is a patch set that will likely mostly interest David, but also
solves one of the remaining niggles I have for 1.0 - the fact that
volumes are not set properly on port changes.
Now this only "solves" that niggle when the module-device-restore is used,
but I'm happy enough to rely on that for now seeing as it's the default
on 99.999% of desktop installs.
The overall benefit of this patch is that it allows different volumes
to be saved and restored for different ports. Combine this with David's
work on making jack-detection work (which triggers port changes) and you
automatically get different volumes on headphones vs. speakers.
My main concern is the following scenario:
0. Say we start with built-in speaker and headphone port and equal
(maybe 70%) volume
1. With headphones plugged in, I've got the volume turned up while
playing something that's naturally not very loud
2. I pull out headphones, start playing something that's quite loud, I
turn down the volume
3. I put the headphones back, find the output too loud (since the port
volume was turned up for the previous stream)
While the current scenario isn't ideal, it's easy for users to wrap
their head around (different devices have different loudness levels). If
we don't handle this sort of case in the per-port-volume case, IMO the
behaviour is potentially confusing/frustrating to users.
Maybe there's a simple way to handle this that I'm missing ...
I'm not sure there is a way to handle this really. Either we want
volumes per-port or we don't. IMO we do (this is how it works on my
iPhone for example) and I think from the various mumblings I've heard
over the years most people want this type of functionality.
But perhaps there is indeed some magic solution that we are both missing :p
Anyone else got any comments on this? I'd like to push it out if all is
well otherwise.
FWIW, to address Arun's concern somewhat, we could relatively easily
make a change here that kept the same volume for every port simply by
changing the key name used and then expose this as a module argument
should people really hate this behaviour.
Any comments on the code would be appreciated too :)
Well, I'm not that much into the database format, so can't really look
for bugs there...I have a question though: What about loudness bumps? It
looks like that could be the effect if you set the volume in such a
reactive fashion?
However - it might be that there is no true way around that anyway, as
in the case of jack detection as we're only reactive to what the kernel
does.
--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss