VP9 playback stalls
Categories
(Core :: Audio/Video: Playback, defect, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox146 | --- | fixed |
People
(Reporter: jakea, Assigned: jhlin)
References
Details
Attachments
(6 files, 2 obsolete files)
Steps to reproduce:
https://static-misc-3.glitch.me/alpha-video-test/vp9-video.html
Actual results:
The video plays and loops as expected on Android Chrome, but on Android Firefox the video freezes (tested on a Pixel 8 pro).
(note: the video displays incorrectly in Chrome due to a different issue https://issues.chromium.org/issues/349610465)
Expected results:
The video should not freeze.
Comment 1•1 year ago
|
||
The severity field is not set for this bug.
:jimm, could you have a look please?
For more information, please visit BugBot documentation.
Comment 2•1 year ago
|
||
https://share.firefox.dev/3AHrHJ5 is a profile of this by alwu, we can repro on all devices because this falls back to software decoding, and the decoding is annoyingly too close to the frame budget. Surely we can make the queue a bit deeper a smooth out the slowness.
Updated•1 year ago
|
Updated•1 year ago
|
Comment 3•1 year ago
|
||
This now works (e.g. on my Pixel 4 that is starting to show its age), likely thanks to Karl's recent work on video frame scheduling. Alastor, can you quickly check on the same device you used in comment 2? It was a Pixel 6.
Comment 4•1 year ago
|
||
It's still same for me, many video frames were dropped during playback. Another profile on Nightly 135.
In addition, shouldn't we use hw vp9 decoder on Android? it was still sw decoding in my both profiles, and I wonder if it's related with bug 1931941. John, could you provide some thought here? Thanks!
Comment 5•1 year ago
|
||
Hrm I updated my personal device to a Samsung S23, and now the video doesn't play for me...
Comment 6•11 months ago
|
||
We are having some trouble reproducing this.
| Assignee | ||
Comment 7•10 months ago
|
||
(In reply to Alastor Wu [:alwu] from comment #4)
It's still same for me, many video frames were dropped during playback. Another profile on Nightly 135.
In addition, shouldn't we use hw vp9 decoder on Android? it was still sw decoding in my both profiles, and I wonder if it's related with bug 1931941. John, could you provide some thought here? Thanks!
I think it falls back to sw decoding because AndroidDecoderModule explicitly rejects video with alpha.
The WebM has no audio track so I don't think our policy of dropping video frames to maintain a/v sync really matter much here. Maybe we can add an option to VideoSink to ignore the mock audio/system clock so it won't drop frames in scenario like this?
| Assignee | ||
Updated•10 months ago
|
Updated•7 months ago
|
Updated•7 months ago
|
| Assignee | ||
Comment 8•7 months ago
|
||
The default size was picked a long time ago and the Android system
has relaxed the limitation. This also mitigates frame-dropping issue
caused by SW/slow decoder with deeper queue.
| Assignee | ||
Comment 9•7 months ago
|
||
Comment 10•7 months ago
|
||
Comment 11•7 months ago
|
||
Comment 12•7 months ago
•
|
||
Backed out for causing mda failures at test_seamless_looping_cancel_looping_future_frames.htm
| Assignee | ||
Comment 13•3 months ago
|
||
| Assignee | ||
Comment 14•3 months ago
|
||
MediaDecoderStateMachine uses global/static values for video queue sizes
(https://searchfox.org/firefox-main/rev/4e8871487a9f97992e00d5c8105ef1d8cf3c88f3/dom/media/MediaDecoderStateMachine.cpp#152-165),
which are actually constraints of platform decoders. In some cases the same content
process could have more than one MDSMs that uses different platform decoders (e.g.
on Android one video can be decoded by MediaCodec but another by libvpx) and causes
suboptimal results. Moving the definition to PlatformDecoderModule for each
MDSM to get its own value ensures playback smoothness.
| Assignee | ||
Comment 15•3 months ago
|
||
Updated•3 months ago
|
Updated•3 months ago
|
| Assignee | ||
Comment 16•2 months ago
|
||
Updated•2 months ago
|
Comment 17•2 months ago
|
||
Comment 18•2 months ago
|
||
Comment 19•2 months ago
|
||
| Assignee | ||
Comment 20•2 months ago
|
||
Current media playbck pipeline setup satisfies the condition
but it's not so when running gtest.
Updated•2 months ago
|
Comment 21•2 months ago
|
||
Comment 22•2 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/98ecd0ce7900
https://hg.mozilla.org/mozilla-central/rev/6f045f9620f0
https://hg.mozilla.org/mozilla-central/rev/12c0ae608bd9
https://hg.mozilla.org/mozilla-central/rev/79977273c588
https://hg.mozilla.org/mozilla-central/rev/79b5af5a718a
| Assignee | ||
Updated•1 month ago
|
Description
•