Intent to Ship: WebRTC RTP header extension control

150 views
Skip to first unread message

Philipp Hancke

unread,
Jun 21, 2023, 9:10:25 AM6/21/23
to blink-dev, Harald Alvestrand, Henrik Boström, Philipp Hancke

Contact emails

hb...@google.com, h...@google.com, pha...@microsoft.com (sticking to my already subscribed email for sending)


Explainer

https://docs.google.com/document/d/1y1hTsMeav5ijPvoqu1R6U4YC564i1QzgkMeIqWhgiis/edit#

(slightly outdated but still conveys the general idea)


Spec

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


There’s also an IETF change pending for inclusion into RFC8829-bis that allows us to change some of the language of the W3C spec, but this will not change any behavior and is only editorial as far as the implementation is concerned. It also updates the IETF spec to match the current behavior of browsers.


TAG review

N/A; minor extension to WebRTC


Blink component

Blink>WebRTC


Summary

The RTP header extensions API adds a control surface  to the WebRTC RTCRtpTransceiver API which allows developers to control which RTP header extensions are being negotiated by WebRTC.


This is something that is currently only possible via a non-standard API where the Session Description Protocol string is manually modified to tell WebRTC which header extensions to use. By providing apps with a spec-compliant alternative we’ll be that much closer to deprecating the non-standard code path.


Link to “Intent to Prototype” blink-dev discussion

https://groups.google.com/a/chromium.org/g/blink-dev/c/65YdUi02yZk/m/dXL1a8PYBQAJ


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Debuggability

The resulting RTP header extensions are visible in chrome://webrtc-internals by looking at the SDP meaning any app using this API can be inspected via this dev tool. The API also conveys which header extensions were negotiated via a getter for JS level debugging.


Risks

Interoperability and Compatibility

Firefox: positive https://github.com/mozilla/standards-positions/issues/713 with great feedback that improved the specification

Safari: positive https://github.com/WebKit/standards-positions/issues/100

Web / Framework developers: Positive (Teams and Google Meet)


Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.

Yes: https://wpt.fyi/results/webrtc-extensions/RTCRtpTransceiver-headerExtensionControl.html


Entry on the feature dashboard

https://chromestatus.com/feature/5680189201711104


Rick Byers

unread,
Jun 26, 2023, 11:15:13 AM6/26/23
to Philipp Hancke, blink-dev, Harald Alvestrand, Henrik Boström, Philipp Hancke
LGTM1

--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADxkKi%2BVVgjhZg%2BG1sbj%2BzUtaMzooeo9RRQPONx0%2B-G1ROA%2BgQ%40mail.gmail.com.

Yoav Weiss

unread,
Jun 26, 2023, 11:56:29 AM6/26/23
to Rick Byers, Philipp Hancke, blink-dev, Harald Alvestrand, Henrik Boström, Philipp Hancke

Chris Harrelson

unread,
Jun 26, 2023, 12:03:34 PM6/26/23
to Yoav Weiss, Rick Byers, Philipp Hancke, blink-dev, Harald Alvestrand, Henrik Boström, Philipp Hancke
Reply all
Reply to author
Forward
0 new messages