Intent to Ship: WebRTC Unified Plan SDP format control flag

190 views
Skip to first unread message

Harald Alvestrand

unread,
May 9, 2018, 7:21:46 AM5/9/18
to blink-dev


Contact emails

h...@chromium.org, steve...@chromium.org


Explainer

The feature is part of the transition plan for the introduction of Unified Plan.

The Unified Plan specs are linked below.

The plan for the transition is at

https://webrtc.org/web-apis/chrome/unified-plan/


Spec

https://w3c.github.io/webrtc-pc/#session-negotiation-model

https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24


TAG review not done on this specific feature, but on the overall WebRTC spec


Summary


We will ship a flag that lets users try out the new “Unified Plan” SDP format.

This is a preparatory step in switching the default RTCPeerConnection SDP mode for initial SDP offers from our current non-standard format (“Plan B”) to the agreed-upon format (“Unified Plan” or “JSEP”). A separate “Intent to ship” will be sent out for the change to the default.


Link to “Intent to Implement” blink-dev discussion

https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/Qgwfl-nD0Zs



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

Yes.


Debuggability


SDP produced and consumed, and errors, can be observed using chrome://webrtc-internals.


Risks

Interoperability and Compatibility

There is limited compatibility between the old and the new SDP format. Applications with a single audio and video stream are expected to function as before, but applications that need multiple audio and video streams on the same PC are likely to need modification.

Applications that previously supported Firefox may detect the new behavior as Firefox, and therefore continue working with no changes.


Edge: Public support

Firefox: Shipped

Safari: Positive

Web developers: Supportive


Ergonomics

No issues known.


Activation

Many developers take advantage of adapter.js to insulate themselves from lower level changes. Unified Plan is supported by adapter.js.


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


Chrome to Chrome: Yes. web-platform-tests’ webrtc/ subdirectory is the impacted test suite.

We believe shipping this feature will improve the number of tests passed, since the tests assume that Unified Plan is in effect.

A complete virtual test suite that runs relevant tests with the flag turned on is available; this includes running wpt tests.

The flag itself, since it’s not standard, is tested using layout tests in Chrome.


Entry on the feature dashboard


https://www.chromestatus.com/features/5723303167655936




Philip Jägenstedt

unread,
May 9, 2018, 7:50:39 AM5/9/18
to Harald Alvestrand, blink-dev
Ah, this is the missing piece for Intent to Implement & Ship: RTCRtpTransceiver.

Like that intent, this is moving us in the very worthwhile direction of support unified plan and allowing web developers to have less browser-specific code paths for WebRTC.

Since this is still opt-in there's isn't any plausible compat risk. For this opt-in stage, the only interop risk is that others would want to do the same thing, and possibly for a long time. If that happens, then the IDL in https://webrtc.org/web-apis/chrome/unified-plan/ looks very reasonable, as something other browsers could implement if they thought they had to. Let's hope the transition to unified plan is smooth enough to make that unnecessary, though.

LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOqqYVFJbMy%2BbUDQ3tWWFP3CfGfNR7xTigCtTwx9HwsioJzTow%40mail.gmail.com.

Alex Russell

unread,
May 10, 2018, 12:25:19 PM5/10/18
to blink-dev
LGTM2

Chris Harrelson

unread,
May 10, 2018, 12:25:52 PM5/10/18
to Alex Russell, blink-dev
LGTM3

On Thu, May 10, 2018 at 9:25 AM 'Alex Russell' via blink-dev <blin...@chromium.org> wrote:
LGTM2


--
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/0b2a2bbf-5484-470a-8383-71693ed03487%40chromium.org.
Reply all
Reply to author
Forward
0 new messages