Closed Bug 1503814 Opened 6 years ago Closed 5 years ago

Audio drop-outs

Categories

(Core :: Audio/Video: Playback, defect)

62 Branch
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: jbo, Unassigned)

Details

(Whiteboard: [needinfo to reporter 2018-11-09])

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0

Steps to reproduce:

Play audio. This is specially noticeable when playing music, but it happens in any kind of web-audio playing (Youtube, Soundcloud). 



Actual results:

The drop-outs occur sometimes just "spontaneously", without really doing anything with the computer that should trigger it. 

But there are situations that for me cause *lots* of dropouts, more like a continuous stream of pops, like, in particular, moving or resizing windows around. Interestingly, it happens with _any_ window. Which hint me that there is some kind of priority inversion or even locking between the audio playback thread and the processing of the X event queue...


Expected results:

Music should play without drop-outs. In other browsers (e.g. Chromium) I could not reproduce the issue.

I am using Firefox 62.0.3 from NixOS but I recall experiencing similar issues on recent Firefox from Debian over the last year. I do feel though that it is getting worse with time.
Another interesting data-point:

After using the browser for a while, `pavucontrol` shows _lots_ `AudioIPCServer: AudioCallbackDriver` playback outputs. I believe these are the ports created by Firefox. There are two issues:
1. It seems Firefox is leaking audio callbacks. That might partially explain why audio performance also degrades with time (there are more drop-outs after playing audio for a while.)
2. Like other apps, Firefox should tell Pulseaudio of its real name and logo so we can easily control it from the panel.

Thanks a lot!
Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0

I've heard a lot of complaints of my music sequencing website being unusable with the latest update. Reproduce here: https://onlinesequencer.net/346171

For me the audio is glitchy from the start, and the tab completely freezes around measure 9.

Relevant source is here, line 378 and onwards in particular: https://pastebin.com/rwh4J4hW
Thank you for your report. I haven't noticed any problems on my desktop, including with the link in Comment 2, but that's not really surprising, I'm guessing any performance problems would be much more noticeable on a laptop.

It would be great if both of you would be able to download the latest Nightly (Firefox 65) and see if the performance problems are still there. It might also be useful if you could attach the output of about:support, there might be something in there that would help us identify what is causing the problem, assuming it is a specific bug and not just a general loss of performance. Thanks!
Flags: needinfo?(jbo)
Flags: needinfo?(bugscripts)
Whiteboard: [needinfo to reporter 2018-11-06]
This is probably explained by one or multiple of those possible causes:
- thread priority/remoting issues on Linux
- a terrible mistake in landing Web Audio API patches that is going to be fixed in 62.0.2, to be released in a few days (all platforms)
- general Web Audio API performance problems (all platforms)

One can check for the first issue (Linux only) by flipping "media.cubeb.sandbox" in about:config to false and restarting the browser, and for the second issue by either using a Beta or Nightly build or waiting a few days while we update everybody.

The last issue I can have a look at after we've discredited the first two, with specific test cases.
My issue is fixed in the latest nightly build. Thanks!

Data from about:support in v63.0.1 just in case: https://pastebin.com/0Xtimbih
Flags: needinfo?(bugscripts)
Hi!

Thanks a lot for the quick response. I have tried the workarounds and carried further investigation.

1. Nightly improved audio performance mostly removing dropouts, awesome!

2. Disabling media.cubeb.sandbox made the audio callbacks show "Firefox" in `pavucontrol` (still no icon, also, the description says "AudioCallbackDriver on", but it could show something more useful, like that Tab title.

3. Audio-callbacks are still being "leaked" inside Pulseaudio (there are tens of Firefox outputs even though I have just a couple of tabs open.). When the leakage is high, dropouts sometimes reapear, even though audio performance seems to be improved overall.  I have however discovered, that the leakage is harder when some specific websites are open, in particular, gmail.com or hangouts.google.com (maybe they play notifications in a way that confuses Firefox?)

Cheers!

  JP
Flags: needinfo?(jbo)
(In reply to jbo from comment #6)
> 3. Audio-callbacks are still being "leaked" inside Pulseaudio (there are
> tens of Firefox outputs even though I have just a couple of tabs open.).
> When the leakage is high, dropouts sometimes reapear, even though audio
> performance seems to be improved overall.  I have however discovered, that
> the leakage is harder when some specific websites are open, in particular,
> gmail.com or hangouts.google.com (maybe they play notifications in a way
> that confuses Firefox?)

This is unexpected, I don't reproduce it, and we know it generally does not do that.

Do you have any exotic add-ons or weird software or configuration on your system maybe ?
Flags: needinfo?(jbo)
Whiteboard: [needinfo to reporter 2018-11-06] → [needinfo to reporter 2018-11-09]
Sorry for the very late reply. After some testing I realized the bug happens when the add-on "Translate Man" is activated.
Flags: needinfo?(jbo)
Thanks for the info. Marking as WFM.

FWIW I found a "翻译侠(Translate Man)" on addons.mozilla.org using the Google search cache. I'm getting 404 when opening it on AMO directly.
Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.