Make Unified Plan the default SDP semantics |
|||||||||||||||||
Issue descriptionRTCPeerConnection currently operates in two modes, "plan-b" and "unified-plan", controlled by sdpSemantics in RTCConfiguration passed to the PC constructor. "Plan B" and "Unified Plan" clients cannot connect (setRemoteDescription fails) if multiple senders or receivers of the same media kind (audio or video). This bug tracks making "unified-plan" the default behavior, which is blocked on transceiver support. Switching will cause breakages and may be difficult. RTCRtpTransceiver bug: https://crbug.com/777617 Plan B: Current Chrome behavior. Behavior incompatible with spec. Supports senders and receivers but not transceivers. Senders and receivers are not created in pairs and they do not become inactive when a track is removed rather they are removed and never reused. SDP for creating and parsing offer/answer is NOT in accordance with spec. Unified Plan: Spec and Firefox behavior. Supports transceivers (sender-receiver pairs), always creates both sender and a receiver, maps to the SDP m-line. When no longer sending or receiving a track the transceiver's direction changes. Inactive transceivers could be reused in the future. Allows early media. SDP for creating and parsing offer/answer is in accordance with spec.
,
Jun 27 2018
,
Aug 8
We need to make a migration plan, including PSAs/docs explaining the difference and timeline plan, and perhaps some examples of what may break and how to fix.
,
Aug 8
,
Aug 30
,
Aug 30
Current thinking is that we'll flip the flag for M72.
,
Sep 4
,
Sep 14
,
Sep 26
,
Oct 8
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/386afc6d643d0cc52572df9f0ab007c44dcc732e commit 386afc6d643d0cc52572df9f0ab007c44dcc732e Author: Henrik Boström <hbos@chromium.org> Date: Mon Oct 08 07:47:15 2018 Make RTCUnifiedPlanByDefault a base::Feature. It was previously a blink::RuntimeEnabledFeature (--enable-blink-feature), making it a base::Feature (--enable-feature) allows us to control it with Finch experiments. The blink feature is kept for backwards compatibility; either one of the flags can be used to enable Unified Plan by default. This also adds the flag to the chrome://flags page. Bug: 857003 Change-Id: I2fafec1a54ded69c37cc469b4f43c10e1a5f7ef3 Reviewed-on: https://chromium-review.googlesource.com/c/1264580 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Reviewed-by: Harald Alvestrand <hta@chromium.org> Cr-Commit-Position: refs/heads/master@{#597493} [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/chrome/browser/about_flags.cc [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/chrome/browser/flag_descriptions.cc [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/chrome/browser/flag_descriptions.h [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/third_party/WebKit/LayoutTests/VirtualTestSuites [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/third_party/blink/common/features.cc [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/third_party/blink/public/common/features.h [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc [modify] https://crrev.com/386afc6d643d0cc52572df9f0ab007c44dcc732e/tools/metrics/histograms/enums.xml
,
Oct 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b432cc6a63126a99c554ed838dcefca602b47d5f commit b432cc6a63126a99c554ed838dcefca602b47d5f Author: Henrik Boström <hbos@chromium.org> Date: Thu Oct 11 15:22:11 2018 Add warning for complex Plan B SDP usage. This is only applicable when the application does not specify the sdpSemantics and is relying on the default behavior which is about to change from Plan B to Unified Plan. In "complex" use cases, Plan B SDP would be rejected by Unified Plan clients. This CL adds a warning if: - The SDP is "complex Plan B SDP". - The RTCPeerConnection was constructed without specifying sdpSemantics. Bug: 857003 Change-Id: I82b88fde2687edd68e0dc8e1126b16e49bf54c2b Reviewed-on: https://chromium-review.googlesource.com/c/1275892 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by: Philip Jägenstedt <foolip@chromium.org> Reviewed-by: Harald Alvestrand <hta@chromium.org> Cr-Commit-Position: refs/heads/master@{#598769} [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/third_party/blink/public/platform/web_feature.mojom [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/third_party/blink/renderer/core/frame/deprecation.cc [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.h [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection_test.cc [modify] https://crrev.com/b432cc6a63126a99c554ed838dcefca602b47d5f/tools/metrics/histograms/enums.xml
,
Oct 29
,
Oct 29
For those following this bug who missed the PSA in discuss-webrtc@, here it is: "PSA: Unified Plan M71 Experiment; M72 Target - Applications May Break! Please Update Your Code" https://groups.google.com/forum/#!topic/discuss-webrtc/aPRI0-l7lvY
,
Nov 7
,
Nov 16
,
Nov 19
,
Nov 29
,
Nov 29
,
Jan 11
,
Jan 18
(5 days ago)
Tip-of-tree now has Unified Plan by default: https://chromium-review.googlesource.com/c/chromium/src/+/1407188 The flip making the Unified Plan experiment 100% enabled in M72 has also just landed. I'll check back and verify Canary and Beta in a couple of days before updating the status.
,
Jan 21
(2 days ago)
I've verified that Unified Plan is LAUNCHED in M72 Beta and Dev (may require restart to get the new experiment config that says 100% enabled), and Unified Plan is enabled by default in-code as of 73.0.3676.0. |
|||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||
Comment 1 by hbos@chromium.org
, Jun 27 2018