WebRTC simulcast video stops sending after running for a while
Categories
(Core :: WebRTC, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr140 | --- | fixed |
| firefox146 | --- | unaffected |
| firefox147 | + | fixed |
| firefox148 | --- | verified |
People
(Reporter: vshaqi, Assigned: pehrsons)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
|
597.67 KB,
application/x-gzip
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-esr140+
|
Details | Review |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
Steps to reproduce:
Send H.264 simulcast video with a single active layer.
I couldn’t reproduce the issue with the simulcast sample. I’ve uploaded the logs, let me know if you need more. For now, I’m unable to share a test link to my environment.
Actual results:
Video stopped sending after a while.
Expected results:
Video should have kept sending.
| Reporter | ||
Comment 1•5 months ago
|
||
Comment 2•5 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::WebRTC' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
| Assignee | ||
Comment 3•5 months ago
|
||
Which version of Firefox was this on? I landed another fix to GMP/OpenH264 recently in bug 1992567 that could possibly be related. Latest Nightly and Beta 147 (later today) should have it.
I'll check the log later, adding ni.
| Reporter | ||
Comment 4•5 months ago
|
||
Tested this 147 nightly https://ftp.mozilla.org/pub/firefox/nightly/2025/12/2025-12-07-21-28-32-mozilla-central/
and this beta https://ftp.mozilla.org/pub/firefox/releases/147.0b1/, same issue. Logs constantly display W/GMP GMP Encode: Max number of frames already in flight. Dropping this one.
| Assignee | ||
Comment 5•5 months ago
|
||
Thanks, that log statement likely means it's a regression from bug 1992567. I'll take a look.
| Assignee | ||
Comment 6•5 months ago
|
||
It seems from the log that we release an encoder with a frame in flight, and therefore miss the notification that the input frame was encoded or released. Not a biggie per se, but I then assume libwebrtc re-uses the encoder, because it's only after this encoder release that all encode tasks are dropped. Thanks for filing this so early, should be an easy fix.
| Assignee | ||
Comment 7•5 months ago
|
||
This covers some corner cases, for instance when libwebrtc releases the encoder
with a frame in flight, then re-uses it.
Comment 8•5 months ago
|
||
Set release status flags based on info from the regressing bug 1992567
Comment 10•5 months ago
|
||
| bugherder | ||
| Reporter | ||
Comment 11•5 months ago
|
||
This looks like a regression in version 147, will 147 include the fix? This issue is easily reproducible in our product and makes it effectively unusable.
| Assignee | ||
Comment 12•5 months ago
|
||
[Tracking Requested - why for this release]:
Sending H264 video over WebRTC is broken in some circumstances.
I'll make sure to get it uplifted to 147, adding tracking to that effect.
Have you had a chance to verify the fix in latest Nightly?
| Reporter | ||
Comment 13•5 months ago
|
||
Thanks, Andreas. I tested the latest nightly build (https://archive.mozilla.org/pub/firefox/nightly/2025/12/2025-12-10-06-43-34-mozilla-central/) and couldn’t reproduce the issue. Looks good on my end.
| Assignee | ||
Comment 15•5 months ago
|
||
This covers some corner cases, for instance when libwebrtc releases the encoder
with a frame in flight, then re-uses it.
Original Revision: https://phabricator.services.mozilla.com/D275605
Updated•5 months ago
|
Comment 16•5 months ago
|
||
firefox-beta Uplift Approval Request
- User impact if declined: Video-conferencing sites using the H264 video codec with the OpenH264 encoder (i.e. all desktop platforms) may stop sending video mid-call
- Code covered by automated testing: no
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing:
- Risk associated with taking this patch: low
- Explanation of risk level: Trivial change
- String changes made/needed: None
- Is Android affected?: no
Comment 17•5 months ago
|
||
Is there any chance we could add a test for this?
Updated•5 months ago
|
Updated•5 months ago
|
Comment 18•5 months ago
|
||
| uplift | ||
| Assignee | ||
Comment 19•5 months ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #17)
Is there any chance we could add a test for this?
With the right amount of manipulation of the fakeopenh264 plugin we use in CI, we could. I'm not sure how easy that is though. I'll ask around.
| Assignee | ||
Comment 20•5 months ago
|
||
This covers some corner cases, for instance when libwebrtc releases the encoder
with a frame in flight, then re-uses it.
Original Revision: https://phabricator.services.mozilla.com/D275605
Updated•5 months ago
|
Updated•5 months ago
|
Updated•3 months ago
|
Updated•3 months ago
|
Comment 21•3 months ago
|
||
| uplift | ||
Updated•2 months ago
|
Description
•