WebRTC Unified Plan SDP |
||||||||||||||||||||||
Issue descriptionFeature description: Enable Unified Plan SDP in Chromium Eng owner: hta@chromium.org Product owner: juberti@chromium.org Design doc: https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24 Are you planning on experimenting before launch? Yes Any new strings? No Any implications for Google webservices (i.e. sync, translate)? No Binary size? Not much Do the existing perf tests exercise all aspects of your new feature(s)? Yes
,
Jan 4 2018
Intent to implement thread: https://groups.google.com/a/chromium.org/forum/?utm_medium=email&utm_source=footer#!topic/blink-dev/Qgwfl-nD0Zs
,
Jan 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41a0293421cabd3783dfac4ace9486231df4ce52 commit 41a0293421cabd3783dfac4ace9486231df4ce52 Author: Harald Alvestrand <hta@chromium.org> Date: Fri Jan 05 14:18:50 2018 Wire up Unified Plan flag to Blink This creates a new "sdpFormat" attribute that can be passed to RTCPeerConnection's constructor. Intent to Implement thread: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/Qgwfl-nD0Zs Bug: 799030 , 465349 Change-Id: I1b7263210e75fbe98b313abad2b11efd6da3cfa8 Reviewed-on: https://chromium-review.googlesource.com/847573 Commit-Queue: Harald Alvestrand <hta@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Henrik Boström <hbos@chromium.org> Cr-Commit-Position: refs/heads/master@{#527271} [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/content/renderer/media/rtc_peer_connection_handler.cc [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-createOffer-promise.html [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/third_party/WebKit/Source/modules/peerconnection/RTCConfiguration.idl [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/third_party/WebKit/Source/platform/runtime_enabled_features.json5 [modify] https://crrev.com/41a0293421cabd3783dfac4ace9486231df4ce52/third_party/WebKit/public/platform/WebRTCConfiguration.h
,
Jan 18 2018
,
Jan 18 2018
^--- Blockedon because that crash only happens when Unified Plan is on.
,
Jan 18 2018
And blockedon 803021 because AddStream/RemoveStream is not supported with Unified Plan.
,
Jan 18 2018
Another blockedon 803389: With unified plan, senders/receivers are not removed. We must be able to support changing their states active <-> inactive.
,
Jan 18 2018
We need to remember to add test coverage for different SDP formats. Quoting steveanton: The plan is to change both Plan B and Unified Plan to have the following behaviors (this work is not yet done but is being done this week): - By default, send a=ssrc MSID for Plan B and a=msid for Unified Plan. - If a remote description has already been received, match the format already in use, regardless of SDP semantics selected. - If both a=ssrc MSID and a=msid are specified, reply with a=ssrc MSID (this is what Chrome would do today).
,
Jan 20 2018
you might rather want to look for chrome's ancient "a=msid-semantic: WMS"
,
Jan 21 2018
I removed msid-semantic from the spec (the ietf draft) approx 3 versions after I moved the spec from ssrc-associated to m-line associated, I think. Don't know if Firefox sends that header.
,
Feb 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/50b1fbedd5c4a7e5c0470e7f0d9b0d476a2502d6 commit 50b1fbedd5c4a7e5c0470e7f0d9b0d476a2502d6 Author: Harald Alvestrand <hta@chromium.org> Date: Fri Feb 02 16:05:29 2018 Allow RTCRtpReceiver to have a track without streams. Also add tests on what happens when Unified Plan talks to Plan B in some combinations. Bug: 799030 , 802938 Change-Id: I8d17fd42221c5e8f3d34bfc93d6bfe4c99c6ddd1 Reviewed-on: https://chromium-review.googlesource.com/852272 Commit-Queue: Harald Alvestrand <hta@chromium.org> Reviewed-by: Henrik Boström <hbos@chromium.org> Reviewed-by: Guido Urdaneta <guidou@chromium.org> Cr-Commit-Position: refs/heads/master@{#534064} [modify] https://crrev.com/50b1fbedd5c4a7e5c0470e7f0d9b0d476a2502d6/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-createOffer-promise.html [add] https://crrev.com/50b1fbedd5c4a7e5c0470e7f0d9b0d476a2502d6/third_party/WebKit/LayoutTests/fast/peerconnection/RTCPeerConnection-sdpSemantics.html [modify] https://crrev.com/50b1fbedd5c4a7e5c0470e7f0d9b0d476a2502d6/third_party/WebKit/Source/modules/peerconnection/RTCPeerConnection.cpp
,
Feb 13 2018
,
Feb 15 2018
,
Feb 16 2018
,
Mar 1 2018
,
Mar 14 2018
Marking these as blocked on each other because Unified Plan does not make a lot of sense without transceivers and transceivers does not make a lot of sense without Unified Plan.
,
Mar 14 2018
,
Mar 15 2018
,
Apr 4 2018
,
Apr 4 2018
,
Apr 16 2018
,
May 14 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/02bd2d220545367bbad5f2dd02d78f1d50836cec commit 02bd2d220545367bbad5f2dd02d78f1d50836cec Author: Harald Alvestrand <hta@chromium.org> Date: Mon May 14 12:05:10 2018 Enable sdpSemantic RTCPeerConnection parameter This enables the "sdpSemantic" element of RTCConfiguration, which allows to create an RTCPeerConnection that uses the Unified Plan SDP format. Intent to Ship thread: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/B1Yr62txfwQ Bug: 799030 Change-Id: Ifef01e4d3b65f013a49b17693da0ed6f8364e16d Reviewed-on: https://chromium-review.googlesource.com/1056528 Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Harald Alvestrand <hta@chromium.org> Cr-Commit-Position: refs/heads/master@{#558264} [modify] https://crrev.com/02bd2d220545367bbad5f2dd02d78f1d50836cec/third_party/blink/renderer/platform/runtime_enabled_features.json5
,
May 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4b752756a77c801e06f57562f5c4960923050dc2 commit 4b752756a77c801e06f57562f5c4960923050dc2 Author: Henrik Boström <hbos@chromium.org> Date: Fri May 18 09:30:36 2018 Added RTCConfiguration's sdpSemantics to chrome://webrtc-internals. This means sdpSemantics: "plan-b" (default behavior) or sdpSemantics: "unified-plan" (can be explicitly passed in the RTCPeerConnection configuration) TBR=hta@chromium.org Bug: 799030 Change-Id: I355e6032be21603a9bf58046d51af70f6dd38c9f Reviewed-on: https://chromium-review.googlesource.com/1065771 Reviewed-by: Henrik Boström <hbos@chromium.org> Commit-Queue: Henrik Boström <hbos@chromium.org> Cr-Commit-Position: refs/heads/master@{#559844} [modify] https://crrev.com/4b752756a77c801e06f57562f5c4960923050dc2/content/renderer/media/webrtc/peer_connection_tracker.cc
,
May 18 2018
Note to anyone following this issue:
The sdpSemantics is shipping in M-68 (currently in Canary), allowing you to experiment with Unified Plan SDP by doing:
new RTCPeerConnection({sdpSemantics:"unified-plan"});
This will make createOffer()/createAnswer() generate Unified Plan SDP and make setLocalDescription()/setRemoteDescription() expect Unified Plan SDP. This SDP is not compatible with Plan B (default behavior) SDP for multiple audio tracks and/or multiple video tracks use cases.
With sdpSemantics:"unified-plan", internally there will be transceivers created according to spec (https://w3c.github.io/webrtc-pc/#rtp-media-api), but until RTCRtpTransceiver is supported ( https://crbug.com/777617 ) the sender/receiver/transceiver object state information will not be surfaced correctly to JavaScript, which may cause some unexpected behaviors.
RTCRtpTransceiver will likely become available for sdpSemantics:"unified-plan" for M-69, including synchronizing the sender/receiver state information correctly to JavaScript.
,
Jun 13 2018
,
Jun 27 2018
,
Jun 27 2018
,
Jul 18
,
Aug 8
hta@ what do you want to do with this one now that we have Unified Plan SDP and RTCRtpTransceiver shipped in M69 if you opt-in? I think it is fixed if you opt-in for Unified Plan. Making Unified Plan the default behavior ( https://crbug.com/857003 ) and deprecating Plan B (https://crbug.com/857004) is tracked separately. Or do you want this to be a master bug for "Unified Plan is fully implemented and released"? (If so we should change the blocking of switch to blocked-on.)
,
Aug 13
,
Nov 29
Per above comment I'll go ahead and close this bug. (This is not blocked on webrtc:8530 because Chrome has its own control for sdpSemantics.) Putting the milestone as M69 since that is where Unified Plan was reflected in the APIs with the launch of RTCRtpTransceivers. The SDP was available since earlier but it was poorly reflected in the RTCPeerConnection states.
,
Nov 29
|
||||||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||||
Comment 1 by hta@chromium.org
, Jan 4 2018