<video> sets system playback volume to maximum on play

RESOLVED FIXED in mozilla34



5 years ago
2 years ago


(Reporter: pystub, Assigned: padenot)


34 Branch

Firefox Tracking Flags

(Not tracked)



(2 attachments)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0 (Beta/Release)
Build ID: 20140731030206

Steps to reproduce:

After a recent update played a video in a HTML5 element, to be precise on YouTube with relevant beta turned on.

Actual results:

Video started playing at 100% volume at system level. Having this happen with headphones was an unpleasant experience.

Expected results:

Audio levels should have stayed the same. Other browsers behave normally, so this gives me enough confidence to claim that it's not a misconfiguration on my end.

After few experiments it was evident that any new audio context defaults to full volume, so this bug applies to <audio> elements and AudioContext API too.
Duplicate of bug 1038751?
QA Whiteboard: [DUPEME?]
Component: Untriaged → Video/Audio
Product: Firefox → Core
(In reply to [:Aleksej] from comment #1)
> Duplicate of bug 1038751?

It appears to be so.

I thought it was a different bug since it's suggested that volume should stay the same after page reloads rather than leaving system volume untouched.
Regression from bug 1027713?
(In reply to Matthew Gregan [:kinetik] from comment #3)
> Regression from bug 1027713?

Possibly. Does the code to fix it assume that there is a post-gain in system mixer? Because in both this and bug 1038751 it's not there.
Assignee: nobody → paul
Duplicate of this bug: 1038751
So, the only way I can repro this is have the mediasource pref enabled.

What happens is that the MediaSourceDecoder does not set the volume, playbackrate, etc. like it should in MediaDecoder::InitializeStateMachine.
This fixes the issue for me.
Attachment #8467108 - Flags: review?(kinetik)
Attachment #8467108 - Flags: review?(kinetik) → review+

Would you mind telling me if this fixes it for you? Did you have the mediasource pref set to true in the first place?
Flags: needinfo?(pystub)
media.mediasource.enabled pref has no effect on the result.

That patch makes no difference.

The problem is that with the mixer I have (I really don't know whether it's Pulse, ALSA or something else) system volume is defined by the loudest playback object. If you adjust the volume via controls, every playback volume gets scaled relative to the maximum one.

This new way of playing sounds in Firefox appears to not play by the same rules. If you set something to 1.0 while comfortable listening with headphones is 0.3 it's going to be **loud**.
Flags: needinfo?(pystub)
Would you mind attaching the content of /etc/pulse/daemon.conf here ?
Flags: needinfo?(pystub)
(In reply to Paul Adenot (:padenot) from comment #10)
> Would you mind attaching the content of /etc/pulse/daemon.conf here ?

Everything in that file is commented out, so I'm attaching `pulseaudio --dump-conf` output for a hopefully better result.
Flags: needinfo?(pystub)
Cool, so, we are facing an issue with how PulseAudio treats volume. I've been talking to a PulseAudio maintainer, and we'll be working on a solution (as this affects other browser vendors and software, it's better to fix the root cause).

In the meantime, it is likely that I will revert to the old way of handling volume in pulse.

Thanks for the infos about your config and sorry about the bug (I was not affected because I use Ubuntu, and "flat-volume" is set to "No" by default there, otherwise this would have not landed).
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
This is happening to me again with Firefox 53 in Debian Stretch/Testing with GNOME 3.22.2. I tried creating a fresh profile but that didn't help.
Whenever certain audio plays in firefox, my system volume is changed (sometimes to high, sometimes to max). This is very loud with headphones on. As a result I use chrome to view any webpage that produces sound.

This happens for me on instagram videos, google hangouts chat notifications sounds, youtube videos.

Should I open a new bug or will this one be reopened?
You need to log in before you can comment on or make changes to this bug.