How to make Firefox honor Pulseaudios volume setting when having "flat-volumes = no" in /etc/pulse/daemon.conf?
I'd like to adjust Firefox's audio volume using Pauvcontrol the same way it works with VLC: moving the volume slider in the application makes the volume slider in Pulseaudio's volume control move, too. Furthermore, the volume setting for the application specific stream gets restored by PA's module-stream-restore. The volume setting of the stream, which played last before closing the application window(s), is being saved.
If "both ways syncing of Firefox's volume settings with Pulseaudio" is not feasible or possible, is there a way to prevent Firefox from modifying it's own audio stream volume setting? I would prefer a way which doesn't involve the hijacking of the pipe to manually filter out volume-setting commands.
Thanks a lot:)
Wšykne wótegrona (1)
I got the following reply by email, somehow it didn't show here:
Hi Fahrradkette, WestEnd has posted an answer to your question on support.mozilla.org: How to make Firefox honor Pulseaudios volume setting when having "flat-volumes = no" in /etc/pulse/daemon.conf? WestEnd wrote: "Firefox takes it action from the Sound driver. You should check those settings first.
Thanks for answering, I appreciate it. If my understanding is correct, the issue isn't as low as sound card driver but on how Firefox talks to Pulseaudio. If the sources on Github are right, Firefox's audio is managed by Cubeb. Unfortunately it seems Cubeb does not register a callback for when the audio volume gets changed on the Pulseaudio side.
So when another Pulseaudio client (like pauvcontrol) changes the the volume of Firefox's output stream, Firefox doesn't know about it and overwrites this audio volume setting. This happens when one seeks the playing media or even on shutdown of Firefox (or maybe even closing a tab). The later furthermore causes that Pulseaudio can't propperly save the volume setting for Firefox (module-stream-restore).
How should I report this? I believe the issue can be fixed in Cubeb but I don't know which repo I should file a bug against. https://github.com/mozilla/gecko-dev/tree/master/third_party/rust/cubeb points to https://docs.rs/cubeb/0.5.2/cubeb/ which points to https://github.com/djg/cubeb-rs but that also has https://github.com/kinetiknz/cubeb in it for the Pulseaudio bindings.