Change default sdp_semantics to kNotSpecified.

In preparation for switching the default from kPlanB to kUnifiedPlan,
which could cause subtle bugs for those not prepared for it, we change
the default to kNotSpecified. The only purpose of kNotSpecified is to
crash, forcing any dependencies to explicitly set their sdp_semantics
value.

Tests are updated to explicitly set sdp_semantics when necessary, and
where the test does not care we update to kUnifiedPlan.

If this change lands without getting reverted we can let it sit for a
few weeks, after which we should change the default to kUnifiedPlan and
delete kNotSpecified.

Bug: webrtc:11121
Change-Id: I19b669b0735d78e269e19eaae86c2d7d95a91141
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242968
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35651}
This commit is contained in:
Henrik Boström
2022-01-03 09:58:10 +01:00
committed by WebRTC LUCI CQ
parent 8d49d6f0e6
commit 62995db2fc
10 changed files with 96 additions and 10 deletions

View File

@ -17,6 +17,7 @@
#import "RTCIceServer+Private.h"
#import "base/RTCLogging.h"
#include "rtc_base/checks.h"
#include "rtc_base/rtc_certificate_generator.h"
#include "rtc_base/ssl_identity.h"
@ -67,6 +68,7 @@
- (instancetype)init {
// Copy defaults.
webrtc::PeerConnectionInterface::RTCConfiguration config;
config.sdp_semantics = webrtc::SdpSemantics::kPlanB_DEPRECATED;
return [self initWithNativeConfiguration:config];
}
@ -532,6 +534,9 @@
return RTCSdpSemanticsPlanB;
case webrtc::SdpSemantics::kUnifiedPlan:
return RTCSdpSemanticsUnifiedPlan;
case webrtc::SdpSemantics::kNotSpecified:
RTC_DCHECK_NOTREACHED();
return RTCSdpSemanticsUnifiedPlan;
}
}