[Webkit-unassigned] [Bug 54140] [GStreamer] Video player sets system volume to 100%

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 11 10:16:42 PST 2011


https://bugs.webkit.org/show_bug.cgi?id=54140





--- Comment #6 from Jonathon Jongsma (jonner) <jonathon at quotidian.org>  2011-02-11 10:16:42 PST ---
OK, I just talked with some gstreamer / pulseaudio people and they confirmed that this is indeed how things are supposed to work.  The system volume is always equal to the volume level of the loudest stream.   What this means is that explicitly setting the webkit player stream to 1.0 will *always* set the system volume to the maximum value.  This is clearly very bad when it happens automatically at startup.

Looking at the html5 spec for audio volume, I notice that it says: "Initially, the volume must be 1.0, but user agents may remember the last set value across sessions, on a per-site basis or otherwise, so the volume may start at other values".  It seems to me that this allows browsers to ignore the initial volume and still satisfy the spec.

So I see 2 basic options forward:
1) always treat the DOM volume property as a percentage of system volume.  So for example, when the volume is set to 0.9, you need to read the system value, and then set your gstreamer stream volume to 0.9*system.  
2) Ignore the initial 1.0 value at startup and instead set the DOM value of your volume property to the current system volume.  Setting the volume to 1.0 will still result in very loud audio, but if the user can see that the volume is currently at 0.25 and they still drag the volume slider all the way up to 1.0, they will expect it to get much louder.

Option 2 seems to be the way that all other gstreamer clients behave (e.g. totem, rhythmbox), the only difference being that those applications don't change the volume unless the user requested it, so the user knows what to expect.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list