Closed Bug 1934346 Opened 2 months ago Closed 2 months ago

VP9 encoder natively supports simulcast under certain conditions

Categories

(Core :: WebRTC: Audio/Video, defect, P2)

defect

Tracking

()

VERIFIED FIXED
135 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox133 --- unaffected
firefox134 --- verified
firefox135 --- verified

People

(Reporter: pehrsons, Assigned: pehrsons)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

We have so far not supported VP9 simulcast. In 134, we shipped a libwebrtc update containing a native simulcast in the libwebrtc libvpx VP9 encoder. This gets used even without the SimulcastEncoderAdapter that we normally use to control simulcast. The native mode uses SVC under the hood for more efficient encoding of multiple streams, so only works when the simulcast config can be translated to a vaild svc config by the codec.

Until we ship VP9 simulcast, we should disable this new native simulcast mode.

Blocks: 1934347

In https://hg.mozilla.org/mozilla-central/rev/1c2fb06af8ed666efc145146927c83126eef1f17
a new mode was introduced in libwebrtc's libvpx VP9 encoder, that allows it to
encode simulcast layers natively under some conditions. The new pref lets us
turn that mode off to not inadvertently ship partial VP9 simulcast support.

Pushed by pehrsons@gmail.com: https://hg.mozilla.org/integration/autoland/rev/2745456250d5 Rename NoTrialsConfig to better reflect reality. r=webrtc-reviewers,ng https://hg.mozilla.org/integration/autoland/rev/07d2451f3780 Introduce a pref to turn off VP9 simulcast entirely. r=webrtc-reviewers,bwc
Attachment #9442103 - Flags: approval-mozilla-beta?

In https://hg.mozilla.org/mozilla-central/rev/1c2fb06af8ed666efc145146927c83126eef1f17
a new mode was introduced in libwebrtc's libvpx VP9 encoder, that allows it to
encode simulcast layers natively under some conditions. The new pref lets us
turn that mode off to not inadvertently ship partial VP9 simulcast support.

Original Revision: https://phabricator.services.mozilla.com/D231232

Attachment #9442104 - Flags: approval-mozilla-beta?
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → 135 Branch

beta Uplift Approval Request

  • User impact if declined: 134 will inadvertently ship with partial simulcast support for VP9 in WebRTC
  • Code covered by automated testing: no
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: On https://fippo.github.io/simulcast-playground/rid-as-mid?codec=vp9 after approving the camera prompt, two videos should be visible. One local, one remote. Verify with media.webrtc.simulcast.vp9.enabled=true where no remote video is visible (simulcast is on, but broken).
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Maintaining old behavior by turning a feature off that landed upstream in libwebrtc.
  • String changes made/needed: None
  • Is Android affected?: yes
Flags: qe-verify+
Attachment #9442104 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #9442103 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Reproduced this issue on Win 10 using an affected nightly build from 2024-11-29 and following the steps from Comment 7.
Verified as fixed on Firefox 135.0a1 (20241209213901) and Firefox 134.0b8 (20241209091406) on WIn 10, macOS 11 and Ubuntu 22.04.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: