Intent to Ship: WebRTC RTP header extension behavior change

43 views
Skip to first unread message

Harald Alvestrand

unread,
Oct 7, 2025, 8:40:17 AM (yesterday) Oct 7
to blink-dev
Contact emails
h...@chromium.orggui...@chromium.org

Specification
https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control-modifications

Summary
Users of https://chromestatus.com/feature/5680189201711104 found that the API as specified was not ergonomic for subsequent offer/answer. The WG has adopted a revised behavior, merged to spec in https://github.com/w3c/webrtc-extensions/pull/238, that ensures that subsequent offer/answer does not permute the header extensions negotiated unless the user wants that to happen.

Blink component
Blink>WebRTC>PeerConnection

Web Feature ID
webrtc

TAG review
None

TAG review status
Not applicable

Risks


Interoperability and Compatibility
None

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

Low risk. Protected by WebRTC field trial "WebRTC-HeaderExtensionNegotiateMemory".


Debuggability
No DevTools support needed. Existing webrtc-internals should be sufficient for debugging.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes

Is this feature fully tested by web-platform-tests?
Yes
webrtc-extensions/RTCRtpTransceiver-headerExtensionControl.html will be affected by the spec change. A test update will be shipped together with enabling the feature. wpt.fyi link: https://wpt.fyi/results/webrtc-extensions/RTCRtpTransceiver-headerExtensionControl.html

Flag name on about://flags
WebRTC-HeaderExtensionNegotiateMemory (WebRTC field trial)

Finch feature name
None

Non-finch justification
The change is in webrtc, so it uses WebRTC field trials which provide the same functionality as finch flags in practice (including the ability to do Finch experiments/kill switches)

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.webrtc.org/439514253

Availability expectation
The base spec being modified is only available in Chromium browsers so far. Given support from other vendors in WG, we expect that when others ship this, they will conform to the modified spec.

Adoption expectation
Feature will be used by partners utilizing WebRTC advanced features.

Adoption plan
Feature will be used in the rollout of L4S congestion control in Meet, with other interactive video products expected to follow.

Estimated milestones
Shipping on desktop144
Shipping on Android144
Shipping on WebView144


Anticipated spec changes


All spec changes merged.

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5135528638939136?gate=5170761664954368

This intent message was generated by Chrome Platform Status.

Mike Taylor

unread,
8:54 AM (7 hours ago) 8:54 AM
to Harald Alvestrand, blink-dev

On 10/7/25 8:39 a.m., 'Harald Alvestrand' via blink-dev wrote:

Contact emails
h...@chromium.orggui...@chromium.org

Specification
https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control-modifications

Summary
Users of https://chromestatus.com/feature/5680189201711104 found that the API as specified was not ergonomic for subsequent offer/answer. The WG has adopted a revised behavior, merged to spec in https://github.com/w3c/webrtc-extensions/pull/238, that ensures that subsequent offer/answer does not permute the header extensions negotiated unless the user wants that to happen.

Blink component
Blink>WebRTC>PeerConnection

Web Feature ID
webrtc

TAG review
None

TAG review status
Not applicable

Risks


Interoperability and Compatibility
None
As a non WebRTC expert, could you help me understand what kind of risk this change might bring to applications relying on the current shipping behavior?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVGGxvwJcjsJ1gf3VzhoyOBHiQiqWpL15FUWWHjZS0m0jw%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages