Twitter video's audio breaks on Firefox (Linux) but not on Windows
Categories
(Core :: Audio/Video: Playback, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox115 | --- | fixed |
People
(Reporter: emilio, Assigned: padenot)
References
Details
Attachments
(2 files)
As reported by a friend of mine, audio quality of this video is better in Chromium than in Firefox:
https://twitter.com/oocSpain/status/1486375470971113483
On a debug build there's a bunch of spew like:
[Parent 300540, IPC I/O Parent] WARNING: [1.1]: GetUserData call for port '98929920434D07EB.904BB5BC925F6237' failed: file /home/emilio/src/moz/gecko-4/ipc/glue/NodeController.cpp:406
[Parent 300540, IPC I/O Parent] WARNING: [1.1]: GetUserData call for port '8B4ACAC857F249B1.8414EE458270AA54' failed: file /home/emilio/src/moz/gecko-4/ipc/glue/NodeController.cpp:406
[Child 300647, MediaDecoderStateMachine #1] WARNING: AudioSink ring buffer over-run, can't push new data: 'rv == static_cast<int>(aData->Frames() * aData->mChannels)', file /home/emilio/src/moz/gecko-4/dom/media/mediasink/AudioSink.cpp:
554
[Parent 300540, IPC I/O Parent] WARNING: [1.1]: GetUserData call for port 'F9225A2F7BBAF621.84AAB9D54377986F' failed: file /home/emilio/src/moz/gecko-4/ipc/glue/NodeController.cpp:406
[Child 300647, MediaDecoderStateMachine #1] WARNING: AudioSink ring buffer over-run, can't push new data: 'rv == static_cast<int>(aData->Frames() * aData->mChannels)', file /home/emilio/src/moz/gecko-4/dom/media/mediasink/AudioSink.cpp:
554
to the console.
| Assignee | ||
Comment 1•3 years ago
|
||
Can either of you reproduce this while capturing media logs? This plays identically on Chrome and Firefox here on Linux. The default media preset should have everything that's necessary to capture this type of error, the ring buffer status is logged frequently enough.
No special build needed,https://paul.cx/public/about-logging-presentation.webm shows how to do it. Ideally we'd need to have the problem captured, i.e. this needs to be running while this ringbuffer over-run is occuring -- which probably manifests by unpleasant audio glitches and maybe A/V desynchronization.
| Reporter | ||
Comment 2•3 years ago
|
||
Sure, I can repro this reliably. https://share.firefox.dev/3HtrDNu is a profile from local nightly with my regular profile, but lmk if you want a clean profile or what not. This is on Wayland with pipewire if that matters.
| Assignee | ||
Comment 3•3 years ago
|
||
Updated•3 years ago
|
| Assignee | ||
Comment 4•3 years ago
|
||
Thanks, it's clear what happens from the logs, I've attached two patches.
(AudioSink) AudioSink=7f30ee017d60 Muting: Pushing back 17640 frames (0.400000ms) from the ring buffer back into the audio queue.
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 5•3 years ago
|
||
In other cases, the shutdown is either because the media element is seeking, or
is really being shut down: the data present in the ring buffer isn't going to be
used ever.
Depends on D177041
Comment 8•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/5071832d84e6
https://hg.mozilla.org/mozilla-central/rev/61c516f51c93
https://hg.mozilla.org/mozilla-central/rev/7d25a140f0fc
Description
•