PSA: The default value of sdp_semantics is about to change.

Skip to first unread message

Henrik Boström

Dec 30, 2021, 8:27:25 AM12/30/21
to discuss-webrtc

TL;DR: Please make sure to specify sdp_semantics when constructing your PeerConnection as its default value will soon change.

While the web platform has unanimously defaulted to the spec-compliant Unified Plan for several years and Plan B has become deprecated on the web, the C++ library has lagged behind with the default value being set to SdpSemantics::kPlanB. Despite Plan B being on the path to becoming legacy code, this has caused some users to depend on Plan B without even realizing it.

We intend to change the default to kUnifiedPlan in third_party/webrtc very soon.

In order not to cause subtle bugs for those who do not specify it when the default changes, we'll soon make the app CHECK-crash if RTCConfiguration::sdp_semantics is not specified when constructing a PeerConnection.

We'll temporarily make the default value kNotSpecified and then in a few more weeks we'll change the default to kUnifiedPlan and delete the kNotSpecified value.

Our efforts are tracked here:
- Changing the default:
- Removing Plan B from Chromium:
- Removing Plan B from WebRTC (blocked on the above and other usage):


Henrik Boström

Jan 25, 2022, 5:28:48 AM1/25/22
to discuss-webrtc
Update: The default value has now changed to Unified Plan as previously announced!

On the M99 cut date the default was "not specified" (=crash!), but for tip-of-tree and for M100 the default is Unified Plan.
So if you have an up-to-date version of WebRTC and you are using Unified Plan, you no longer have to explicitly set the sdp_semantics value.
Reply all
Reply to author
0 new messages