implement exponentially scaling volume slider

NEW
Unassigned

Status

()

Core
Audio/Video: Playback
7 years ago
3 years ago

People

(Reporter: Stefan, Unassigned)

Tracking

Trunk
Other
Other
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

7 years ago
Created attachment 583998 [details] [diff] [review]
exp-scaling-volume-slider.diff

User Agent:  

Steps to reproduce:

Implemented exponentially scaling volume slider according to 
http://www.dr-lex.be/info-stuff/volumecontrols.html (i.e. the x**4 approximation to the exponential function).

Updated

7 years ago
Component: General → Video/Audio
Product: Firefox → Core
QA Contact: general → video.audio
I've got no objection to this, and the spec allows it:

"The element's effective media volume is volume, interpreted relative to the range 0.0 to 1.0, with 0.0 being silent, and 1.0 being the loudest setting, values in between increasing in loudness. The range need not be linear."

But I think it's a mistake for the spec to leave this up to the UA with no way for the content author to programatically discover which behaviour a given UA has.  I can imagine this causing problems where the content author has adjusted the relative volumes of multiple media elements (e.g. sound effects for a game).

It's possible that it would make more sense to leave the volume attribute linear, and change the controls to use exponential scaling, but that may be surprising for authors implementing their own controls (as they'd get different behaviour to the builtin controls).
Status: UNCONFIRMED → NEW
Ever confirmed: true
Component: Audio/Video → Audio/Video: Playback
This really needs to be done. The current behaviour makes no sense at all. Setting the HTML5 volume to 0.5 doesn't set the actual volume (shown in the PulseAudio volume control) to 0.5, instead it makes it something like 0.75.

OS: Ubuntu 14.04.
You need to log in before you can comment on or make changes to this bug.