diff --git a/api/peer_connection_interface.h b/api/peer_connection_interface.h index d40d7a49c3..72a0765518 100644 --- a/api/peer_connection_interface.h +++ b/api/peer_connection_interface.h @@ -173,12 +173,6 @@ enum class SdpSemantics { kPlanB_DEPRECATED, kPlanB [[deprecated]] = kPlanB_DEPRECATED, kUnifiedPlan, - // The default SdpSemantics value is about to change to kUnifiedPlan. During a - // short transition period, kNotSpecified is used to ensure clients that don't - // set SdpSemantics are aware of the change by CHECK-crashing. - // TODO(https://crbug.com/webrtc/11121): When the default has changed to - // kUnifiedPlan, delete kNotSpecified. - kNotSpecified }; class RTC_EXPORT PeerConnectionInterface : public rtc::RefCountInterface { @@ -629,34 +623,26 @@ class RTC_EXPORT PeerConnectionInterface : public rtc::RefCountInterface { // cost. absl::optional network_preference; - // Configure the SDP semantics used by this PeerConnection. Note that the - // WebRTC 1.0 specification requires kUnifiedPlan semantics. The - // RtpTransceiver API is only available with kUnifiedPlan semantics. + // Configure the SDP semantics used by this PeerConnection. By default, this + // is Unified Plan which is compliant to the WebRTC 1.0 specification. It is + // possible to overrwite this to the deprecated Plan B SDP format, but note + // that kPlanB will be deleted at some future date, see + // https://crbug.com/webrtc/13528. // - // kUnifiedPlan will cause PeerConnection to create offers and answers with - // multiple m= sections where each m= section maps to one RtpSender and one - // RtpReceiver (an RtpTransceiver), either both audio or both video. This - // will also cause PeerConnection to ignore all but the first a=ssrc lines - // that form a Plan B stream. + // kUnifiedPlan will cause the PeerConnection to create offers and answers + // with multiple m= sections where each m= section maps to one RtpSender and + // one RtpReceiver (an RtpTransceiver), either both audio or both video. + // This will also cause the PeerConnection to ignore all but the first + // a=ssrc lines that form a Plan B streams (if the PeerConnection is given + // Plan B SDP to process). // - // kPlanB will cause PeerConnection to create offers and answers with at + // kPlanB will cause the PeerConnection to create offers and answers with at // most one audio and one video m= section with multiple RtpSenders and // RtpReceivers specified as multiple a=ssrc lines within the section. This // will also cause PeerConnection to ignore all but the first m= section of - // the same media type. - // - // For users who have to interwork with legacy WebRTC implementations, - // it is possible to specify kPlanB until the code is finally removed - // (https://crbug.com/webrtc/13528). - // - // For all other users, specify kUnifiedPlan. - // - // The default SdpSemantics value is about to change to kUnifiedPlan. During - // a short transition period, kNotSpecified is used to ensure clients that - // don't set SdpSemantics are aware of the change by CHECK-crashing. - // TODO(https://crbug.com/webrtc/11121): When the default has changed to - // kUnifiedPlan, delete kNotSpecified. - SdpSemantics sdp_semantics = SdpSemantics::kNotSpecified; + // the same media type (if the PeerConnection is given Unified Plan SDP to + // process). + SdpSemantics sdp_semantics = SdpSemantics::kUnifiedPlan; // TODO(bugs.webrtc.org/9891) - Move to crypto_options or remove. // Actively reset the SRTP parameters whenever the DTLS transports diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc index 99828f8b49..3c6402cead 100644 --- a/pc/peer_connection.cc +++ b/pc/peer_connection.cc @@ -418,19 +418,11 @@ RTCErrorOr> PeerConnection::Create( std::unique_ptr call, const PeerConnectionInterface::RTCConfiguration& configuration, PeerConnectionDependencies dependencies) { - // Prior to adding this CHECK, the default value was kPlanB. Because kPlanB is - // about to be deprecated in favor of the spec-compliant kUnifiedPlan, the - // default will soon change to kUnifiedPlan. This CHECK ensures that anybody - // implicitly relying on the default being kPlanB is made aware of the change. - // To avoid crashing, you can overwrite sdp_semantics to kPlanB for the old - // behavior, but you will need to migrate to kUnifiedPlan before kPlanB is - // removed. - // TODO(https://crbug.com/webrtc/11121): When the default is kUnifiedPlan, - // delete kNotSpecified. // TODO(https://crbug.com/webrtc/13528): Remove support for kPlanB. - RTC_CHECK(configuration.sdp_semantics != SdpSemantics::kNotSpecified) - << "Please specify sdp_semantics. The default is about to change to " - << "kUnifiedPlan."; + if (configuration.sdp_semantics == SdpSemantics::kPlanB_DEPRECATED) { + RTC_LOG(LS_WARNING) + << "PeerConnection constructed with legacy SDP semantics!"; + } RTCError config_error = cricket::P2PTransportChannel::ValidateIceConfig( ParseIceConfig(configuration)); diff --git a/sdk/objc/api/peerconnection/RTCConfiguration.mm b/sdk/objc/api/peerconnection/RTCConfiguration.mm index 9f92bcd815..859aa8ad76 100644 --- a/sdk/objc/api/peerconnection/RTCConfiguration.mm +++ b/sdk/objc/api/peerconnection/RTCConfiguration.mm @@ -525,9 +525,6 @@ return webrtc::SdpSemantics::kPlanB_DEPRECATED; case RTCSdpSemanticsUnifiedPlan: return webrtc::SdpSemantics::kUnifiedPlan; - default: - RTC_DCHECK_NOTREACHED(); - return webrtc::SdpSemantics::kUnifiedPlan; } } @@ -537,9 +534,6 @@ return RTCSdpSemanticsPlanB; case webrtc::SdpSemantics::kUnifiedPlan: return RTCSdpSemanticsUnifiedPlan; - default: - RTC_DCHECK_NOTREACHED(); - return RTCSdpSemanticsUnifiedPlan; } }