Remove DataContentDescription shim
Bug: webrtc:10597
Change-Id: Id0cbb78846d2b248bc2ab650eb7c06b50bc825bb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140100
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28275}
diff --git a/pc/media_session.cc b/pc/media_session.cc
index f989d28..745a1ac 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -2802,15 +2802,6 @@
return desc ? desc->as_sctp() : nullptr;
}
-// Returns a shim representing either an SctpDataContentDescription
-// or an RtpDataContentDescription, as appropriate.
-// TODO(bugs.webrtc.org/10597): Remove together with shim.
-const DataContentDescription* GetFirstDataContentDescription(
- const SessionDescription* sdesc) {
- auto desc = GetFirstMediaContentDescription(sdesc, MEDIA_TYPE_DATA);
- return desc ? desc->as_data() : nullptr;
-}
-
//
// Non-const versions of the above functions.
//
@@ -2889,11 +2880,4 @@
return desc ? desc->as_sctp() : nullptr;
}
-// Returns shim
-DataContentDescription* GetFirstDataContentDescription(
- SessionDescription* sdesc) {
- auto desc = GetFirstMediaContentDescription(sdesc, MEDIA_TYPE_DATA);
- return desc ? desc->as_data() : nullptr;
-}
-
} // namespace cricket
diff --git a/pc/media_session.h b/pc/media_session.h
index b154a18..7e074cb 100644
--- a/pc/media_session.h
+++ b/pc/media_session.h
@@ -363,9 +363,6 @@
const SessionDescription* sdesc);
const SctpDataContentDescription* GetFirstSctpDataContentDescription(
const SessionDescription* sdesc);
-// Returns shim. Deprecated - ask for the right protocol instead.
-RTC_DEPRECATED const DataContentDescription* GetFirstDataContentDescription(
- const SessionDescription* sdesc);
// Non-const versions of the above functions.
// Useful when modifying an existing description.
ContentInfo* GetFirstMediaContent(ContentInfos* contents, MediaType media_type);
@@ -385,8 +382,6 @@
SessionDescription* sdesc);
SctpDataContentDescription* GetFirstSctpDataContentDescription(
SessionDescription* sdesc);
-RTC_DEPRECATED DataContentDescription* GetFirstDataContentDescription(
- SessionDescription* sdesc);
// Helper functions to return crypto suites used for SDES.
void GetSupportedAudioSdesCryptoSuites(
diff --git a/pc/media_session_unittest.cc b/pc/media_session_unittest.cc
index 0a756f3..4cdfb67 100644
--- a/pc/media_session_unittest.cc
+++ b/pc/media_session_unittest.cc
@@ -1356,8 +1356,8 @@
EXPECT_EQ(cricket::kMediaProtocolSavpf, dcd->protocol());
}
-// The use_sctpmap flag should be set in a DataContentDescription by default.
-// The answer's use_sctpmap flag should match the offer's.
+// The use_sctpmap flag should be set in an Sctp DataContentDescription by
+// default. The answer's use_sctpmap flag should match the offer's.
TEST_F(MediaSessionDescriptionFactoryTest, TestCreateDataAnswerUsesSctpmap) {
MediaSessionOptions opts;
AddDataSection(cricket::DCT_SCTP, RtpTransceiverDirection::kSendRecv, &opts);
diff --git a/pc/session_description.cc b/pc/session_description.cc
index 4b6c08a..fc4afbc 100644
--- a/pc/session_description.cc
+++ b/pc/session_description.cc
@@ -174,30 +174,6 @@
}
void SessionDescription::AddContent(ContentInfo&& content) {
- // Unwrap the as_data shim layer before using.
- auto* description = content.media_description();
- bool should_delete = false;
- if (description->as_rtp_data()) {
- if (description->as_rtp_data() != description) {
- auto* media_description =
- description->deprecated_as_data()->Unshim(&should_delete);
- // If should_delete was false, the media description passed to
- // AddContent is referenced from elsewhere, and double deletion
- // is going to result. Don't allow this.
- RTC_CHECK(should_delete)
- << "Non-owned shim description passed to AddContent";
- // Setting the media description will delete the old description.
- content.set_media_description(absl::WrapUnique(media_description));
- }
- } else if (description->as_sctp()) {
- if (description->as_sctp() != description) {
- auto* media_description =
- description->deprecated_as_data()->Unshim(&should_delete);
- RTC_CHECK(should_delete)
- << "Non-owned shim description passed to AddContent";
- content.set_media_description(absl::WrapUnique(media_description));
- }
- }
if (extmap_allow_mixed()) {
// Mixed support on session level overrides setting on media level.
content.media_description()->set_extmap_allow_mixed_enum(
@@ -286,416 +262,6 @@
return NULL;
}
-// DataContentDescription shim creation
-DataContentDescription* RtpDataContentDescription::deprecated_as_data() {
- if (!shim_) {
- shim_.reset(new DataContentDescription(this));
- }
- return shim_.get();
-}
-
-DataContentDescription* RtpDataContentDescription::as_data() {
- return deprecated_as_data();
-}
-
-const DataContentDescription* RtpDataContentDescription::as_data() const {
- return const_cast<RtpDataContentDescription*>(this)->as_data();
-}
-
-DataContentDescription* SctpDataContentDescription::deprecated_as_data() {
- if (!shim_) {
- shim_.reset(new DataContentDescription(this));
- }
- return shim_.get();
-}
-
-DataContentDescription* SctpDataContentDescription::as_data() {
- return deprecated_as_data();
-}
-
-const DataContentDescription* SctpDataContentDescription::as_data() const {
- return const_cast<SctpDataContentDescription*>(this)->deprecated_as_data();
-}
-
-DataContentDescription::DataContentDescription() {
- // In this case, we will initialize |owned_description_| as soon as
- // we are told what protocol to use via set_protocol or another function
- // calling CreateShimTarget.
-}
-
-DataContentDescription::DataContentDescription(
- SctpDataContentDescription* wrapped)
- : real_description_(wrapped) {
- // SctpDataContentDescription doesn't contain codecs, but code
- // using DataContentDescription expects to see one.
- Super::AddCodec(
- cricket::DataCodec(kGoogleSctpDataCodecPlType, kGoogleSctpDataCodecName));
-}
-
-DataContentDescription::DataContentDescription(
- RtpDataContentDescription* wrapped)
- : real_description_(wrapped) {}
-
-DataContentDescription::DataContentDescription(
- const DataContentDescription* o) {
- if (o->real_description_) {
- owned_description_ = absl::WrapUnique(o->real_description_->Copy());
- real_description_ = owned_description_.get();
- } else {
- // Copy all information collected so far, including codecs.
- Super::operator=(*o);
- }
-}
-
-void DataContentDescription::CreateShimTarget(bool is_sctp) {
- RTC_LOG(LS_INFO) << "Creating shim target, is_sctp is " << is_sctp;
- RTC_CHECK(!owned_description_.get());
- if (is_sctp) {
- owned_description_ = absl::make_unique<SctpDataContentDescription>();
- // Copy all information collected so far, except codecs.
- owned_description_->MediaContentDescription::operator=(*this);
- } else {
- owned_description_ = absl::make_unique<RtpDataContentDescription>();
- // Copy all information collected so far, including codecs.
- owned_description_->as_rtp_data()
- ->MediaContentDescriptionImpl<RtpDataCodec>::operator=(*this);
- }
- real_description_ = owned_description_.get();
-}
-
-MediaContentDescription* DataContentDescription::Unshim(bool* should_delete) {
- // If protocol isn't decided at this point, we have a problem.
- RTC_CHECK(real_description_);
- if (owned_description_) {
- // Pass ownership to caller, and remove myself.
- // Since caller can't know if I was owner or owned, tell them.
- MediaContentDescription* to_return = owned_description_.release();
- *should_delete = true;
- return to_return;
- }
- // Real object is owner, and presumably referenced from elsewhere.
- *should_delete = false;
- return real_description_;
-}
-
-void DataContentDescription::set_protocol(const std::string& protocol) {
- if (!real_description_) {
- CreateShimTarget(IsSctpProtocol(protocol));
- }
- real_description_->set_protocol(protocol);
-}
-
-bool DataContentDescription::IsSctp() const {
- return (real_description_ && real_description_->as_sctp());
-}
-
-void DataContentDescription::EnsureIsRtp() {
- RTC_CHECK(real_description_);
- RTC_CHECK(real_description_->as_rtp_data());
-}
-
-RtpDataContentDescription* DataContentDescription::as_rtp_data() {
- if (real_description_) {
- return real_description_->as_rtp_data();
- }
- return nullptr;
-}
-
-SctpDataContentDescription* DataContentDescription::as_sctp() {
- if (real_description_) {
- return real_description_->as_sctp();
- }
- return nullptr;
-}
-
-// Override all methods defined in MediaContentDescription.
-bool DataContentDescription::has_codecs() const {
- if (!real_description_) {
- return Super::has_codecs();
- }
- return real_description_->has_codecs();
-}
-std::string DataContentDescription::protocol() const {
- if (!real_description_) {
- return Super::protocol();
- }
- return real_description_->protocol();
-}
-
-webrtc::RtpTransceiverDirection DataContentDescription::direction() const {
- if (!real_description_) {
- return Super::direction();
- }
- return real_description_->direction();
-}
-void DataContentDescription::set_direction(
- webrtc::RtpTransceiverDirection direction) {
- if (!real_description_) {
- return Super::set_direction(direction);
- }
- return real_description_->set_direction(direction);
-}
-bool DataContentDescription::rtcp_mux() const {
- if (!real_description_) {
- return Super::rtcp_mux();
- }
- return real_description_->rtcp_mux();
-}
-void DataContentDescription::set_rtcp_mux(bool mux) {
- if (!real_description_) {
- Super::set_rtcp_mux(mux);
- return;
- }
- real_description_->set_rtcp_mux(mux);
-}
-bool DataContentDescription::rtcp_reduced_size() const {
- if (!real_description_) {
- return Super::rtcp_reduced_size();
- }
- return real_description_->rtcp_reduced_size();
-}
-void DataContentDescription::set_rtcp_reduced_size(bool reduced_size) {
- if (!real_description_) {
- return Super::set_rtcp_reduced_size(reduced_size);
- }
-
- return real_description_->set_rtcp_reduced_size(reduced_size);
-}
-int DataContentDescription::bandwidth() const {
- if (!real_description_) {
- return Super::bandwidth();
- }
-
- return real_description_->bandwidth();
-}
-void DataContentDescription::set_bandwidth(int bandwidth) {
- if (!real_description_) {
- return Super::set_bandwidth(bandwidth);
- }
-
- return real_description_->set_bandwidth(bandwidth);
-}
-const std::vector<CryptoParams>& DataContentDescription::cryptos() const {
- if (!real_description_) {
- return Super::cryptos();
- }
-
- return real_description_->cryptos();
-}
-void DataContentDescription::AddCrypto(const CryptoParams& params) {
- if (!real_description_) {
- return Super::AddCrypto(params);
- }
-
- return real_description_->AddCrypto(params);
-}
-void DataContentDescription::set_cryptos(
- const std::vector<CryptoParams>& cryptos) {
- if (!real_description_) {
- return Super::set_cryptos(cryptos);
- }
-
- return real_description_->set_cryptos(cryptos);
-}
-const RtpHeaderExtensions& DataContentDescription::rtp_header_extensions()
- const {
- if (!real_description_) {
- return Super::rtp_header_extensions();
- }
-
- return real_description_->rtp_header_extensions();
-}
-void DataContentDescription::set_rtp_header_extensions(
- const RtpHeaderExtensions& extensions) {
- if (!real_description_) {
- return Super::set_rtp_header_extensions(extensions);
- }
-
- return real_description_->set_rtp_header_extensions(extensions);
-}
-void DataContentDescription::AddRtpHeaderExtension(
- const webrtc::RtpExtension& ext) {
- if (!real_description_) {
- return Super::AddRtpHeaderExtension(ext);
- }
- return real_description_->AddRtpHeaderExtension(ext);
-}
-void DataContentDescription::AddRtpHeaderExtension(
- const cricket::RtpHeaderExtension& ext) {
- if (!real_description_) {
- return Super::AddRtpHeaderExtension(ext);
- }
- return real_description_->AddRtpHeaderExtension(ext);
-}
-void DataContentDescription::ClearRtpHeaderExtensions() {
- if (!real_description_) {
- return Super::ClearRtpHeaderExtensions();
- }
- return real_description_->ClearRtpHeaderExtensions();
-}
-bool DataContentDescription::rtp_header_extensions_set() const {
- if (!real_description_) {
- return Super::rtp_header_extensions_set();
- }
- return real_description_->rtp_header_extensions_set();
-}
-const StreamParamsVec& DataContentDescription::streams() const {
- if (!real_description_) {
- return Super::streams();
- }
- return real_description_->streams();
-}
-StreamParamsVec& DataContentDescription::mutable_streams() {
- if (!real_description_) {
- return Super::mutable_streams();
- }
- return real_description_->mutable_streams();
-}
-void DataContentDescription::AddStream(const StreamParams& stream) {
- if (!real_description_) {
- return Super::AddStream(stream);
- }
- return real_description_->AddStream(stream);
-}
-void DataContentDescription::SetCnameIfEmpty(const std::string& cname) {
- if (!real_description_) {
- return Super::SetCnameIfEmpty(cname);
- }
- return real_description_->SetCnameIfEmpty(cname);
-}
-uint32_t DataContentDescription::first_ssrc() const {
- if (!real_description_) {
- return Super::first_ssrc();
- }
- return real_description_->first_ssrc();
-}
-bool DataContentDescription::has_ssrcs() const {
- if (!real_description_) {
- return Super::has_ssrcs();
- }
- return real_description_->has_ssrcs();
-}
-void DataContentDescription::set_conference_mode(bool enable) {
- if (!real_description_) {
- return Super::set_conference_mode(enable);
- }
- return real_description_->set_conference_mode(enable);
-}
-bool DataContentDescription::conference_mode() const {
- if (!real_description_) {
- return Super::conference_mode();
- }
- return real_description_->conference_mode();
-}
-void DataContentDescription::set_connection_address(
- const rtc::SocketAddress& address) {
- if (!real_description_) {
- return Super::set_connection_address(address);
- }
- return real_description_->set_connection_address(address);
-}
-const rtc::SocketAddress& DataContentDescription::connection_address() const {
- if (!real_description_) {
- return Super::connection_address();
- }
- return real_description_->connection_address();
-}
-void DataContentDescription::set_extmap_allow_mixed_enum(
- ExtmapAllowMixed mixed) {
- if (!real_description_) {
- return Super::set_extmap_allow_mixed_enum(mixed);
- }
- return real_description_->set_extmap_allow_mixed_enum(mixed);
-}
-MediaContentDescription::ExtmapAllowMixed
-DataContentDescription::extmap_allow_mixed_enum() const {
- if (!real_description_) {
- return Super::extmap_allow_mixed_enum();
- }
- return real_description_->extmap_allow_mixed_enum();
-}
-bool DataContentDescription::HasSimulcast() const {
- if (!real_description_) {
- return Super::HasSimulcast();
- }
- return real_description_->HasSimulcast();
-}
-SimulcastDescription& DataContentDescription::simulcast_description() {
- if (!real_description_) {
- return Super::simulcast_description();
- }
- return real_description_->simulcast_description();
-}
-const SimulcastDescription& DataContentDescription::simulcast_description()
- const {
- if (!real_description_) {
- return Super::simulcast_description();
- }
- return real_description_->simulcast_description();
-}
-void DataContentDescription::set_simulcast_description(
- const SimulcastDescription& simulcast) {
- if (!real_description_) {
- return Super::set_simulcast_description(simulcast);
- }
- return real_description_->set_simulcast_description(simulcast);
-}
-
-// Methods defined in MediaContentDescriptionImpl.
-// For SCTP, we implement codec handling.
-// For RTP, we pass the codecs.
-// In the cases where type hasn't been decided yet, we return dummies.
-
-const std::vector<DataCodec>& DataContentDescription::codecs() const {
- if (IsSctp() || !real_description_) {
- return Super::codecs();
- }
- return real_description_->as_rtp_data()->codecs();
-}
-
-void DataContentDescription::set_codecs(const std::vector<DataCodec>& codecs) {
- if (IsSctp() || !real_description_) {
- Super::set_codecs(codecs);
- } else {
- EnsureIsRtp();
- real_description_->as_rtp_data()->set_codecs(codecs);
- }
-}
-
-bool DataContentDescription::HasCodec(int id) {
- if (IsSctp() || !real_description_) {
- return Super::HasCodec(id);
- }
- return real_description_->as_rtp_data()->HasCodec(id);
-}
-
-void DataContentDescription::AddCodec(const DataCodec& codec) {
- if (IsSctp() || !real_description_) {
- Super::AddCodec(codec);
- } else {
- EnsureIsRtp();
- real_description_->as_rtp_data()->AddCodec(codec);
- }
-}
-
-void DataContentDescription::AddOrReplaceCodec(const DataCodec& codec) {
- if (IsSctp() || real_description_) {
- Super::AddOrReplaceCodec(codec);
- } else {
- EnsureIsRtp();
- real_description_->as_rtp_data()->AddOrReplaceCodec(codec);
- }
-}
-
-void DataContentDescription::AddCodecs(const std::vector<DataCodec>& codecs) {
- if (IsSctp() || !real_description_) {
- Super::AddCodecs(codecs);
- } else {
- EnsureIsRtp();
- real_description_->as_rtp_data()->AddCodecs(codecs);
- }
-}
-
ContentInfo::~ContentInfo() {
if (description_ && description_.get() != description) {
// If description_ is null, we assume that a move operator
diff --git a/pc/session_description.h b/pc/session_description.h
index 91ffd09..b724cb9 100644
--- a/pc/session_description.h
+++ b/pc/session_description.h
@@ -54,7 +54,6 @@
class AudioContentDescription;
class VideoContentDescription;
-class DataContentDescription;
class RtpDataContentDescription;
class SctpDataContentDescription;
@@ -77,15 +76,6 @@
virtual VideoContentDescription* as_video() { return nullptr; }
virtual const VideoContentDescription* as_video() const { return nullptr; }
- // Backwards compatible shim: Return a shim object that allows
- // callers to ignore the distinction between RtpDataContentDescription
- // and SctpDataContentDescription objects.
- RTC_DEPRECATED virtual DataContentDescription* as_data() { return nullptr; }
- RTC_DEPRECATED virtual const DataContentDescription* as_data() const {
- return nullptr;
- }
- virtual DataContentDescription* deprecated_as_data() { return nullptr; }
-
virtual RtpDataContentDescription* as_rtp_data() { return nullptr; }
virtual const RtpDataContentDescription* as_rtp_data() const {
return nullptr;
@@ -340,135 +330,16 @@
virtual const VideoContentDescription* as_video() const { return this; }
};
-// The DataContentDescription is a shim over the RtpDataContentDescription
-// and SctpDataContentDescription classes that is used for external callers
-// into this internal API.
-// It is a templated derivation of MediaContentDescriptionImpl because
-// that's what the external caller expects it to be.
-// TODO(bugs.webrtc.org/10597): Declare this class obsolete and remove it
-// once external callers have been updated.
-class DataContentDescription : public MediaContentDescriptionImpl<DataCodec> {
- public:
- DataContentDescription();
- MediaType type() const override { return MEDIA_TYPE_DATA; }
- RTC_DEPRECATED DataContentDescription* as_data() override { return this; }
- RTC_DEPRECATED const DataContentDescription* as_data() const override {
- return this;
- }
- DataContentDescription* deprecated_as_data() override { return this; }
-
- // Override all methods defined in MediaContentDescription.
- bool has_codecs() const override;
- DataContentDescription* Copy() const override {
- return new DataContentDescription(this);
- }
- std::string protocol() const override;
- void set_protocol(const std::string& protocol) override;
- webrtc::RtpTransceiverDirection direction() const override;
- void set_direction(webrtc::RtpTransceiverDirection direction) override;
- bool rtcp_mux() const override;
- void set_rtcp_mux(bool mux) override;
- bool rtcp_reduced_size() const override;
- void set_rtcp_reduced_size(bool) override;
- int bandwidth() const override;
- void set_bandwidth(int bandwidth) override;
- const std::vector<CryptoParams>& cryptos() const override;
- void AddCrypto(const CryptoParams& params) override;
- void set_cryptos(const std::vector<CryptoParams>& cryptos) override;
- const RtpHeaderExtensions& rtp_header_extensions() const override;
- void set_rtp_header_extensions(
- const RtpHeaderExtensions& extensions) override;
- void AddRtpHeaderExtension(const webrtc::RtpExtension& ext) override;
- void AddRtpHeaderExtension(const cricket::RtpHeaderExtension& ext) override;
- void ClearRtpHeaderExtensions() override;
- bool rtp_header_extensions_set() const override;
- const StreamParamsVec& streams() const override;
- StreamParamsVec& mutable_streams() override;
- void AddStream(const StreamParams& stream) override;
- void SetCnameIfEmpty(const std::string& cname) override;
- uint32_t first_ssrc() const override;
- bool has_ssrcs() const override;
- void set_conference_mode(bool enable) override;
- bool conference_mode() const override;
- void set_connection_address(const rtc::SocketAddress& address) override;
- const rtc::SocketAddress& connection_address() const override;
- void set_extmap_allow_mixed_enum(ExtmapAllowMixed) override;
- ExtmapAllowMixed extmap_allow_mixed_enum() const override;
- bool HasSimulcast() const override;
- SimulcastDescription& simulcast_description() override;
- const SimulcastDescription& simulcast_description() const override;
- void set_simulcast_description(
- const SimulcastDescription& simulcast) override;
-
- // Override all methods defined in MediaContentDescriptionImpl.
- const std::vector<CodecType>& codecs() const override;
- void set_codecs(const std::vector<CodecType>& codecs) override;
- bool HasCodec(int id) override;
- void AddCodec(const CodecType& codec) override;
- void AddOrReplaceCodec(const CodecType& codec) override;
- void AddCodecs(const std::vector<CodecType>& codec) override;
-
- private:
- typedef MediaContentDescriptionImpl<DataCodec> Super;
- // Friend classes are allowed to create proxies for themselves.
- friend class RtpDataContentDescription; // for constructors
- friend class SctpDataContentDescription;
- friend class SessionDescription; // for Unshim()
- // Copy constructor. A copy results in an object that owns its
- // real description, which is a copy of the original description
- // (whether that was owned or not).
- explicit DataContentDescription(const DataContentDescription* o);
-
- explicit DataContentDescription(RtpDataContentDescription*);
- explicit DataContentDescription(SctpDataContentDescription*);
-
- // Exposed for internal use - new clients should not use this class.
- RtpDataContentDescription* as_rtp_data() override;
- SctpDataContentDescription* as_sctp() override;
-
- // Create a shimmed object, owned by the shim.
- void CreateShimTarget(bool is_sctp);
-
- // Return the shimmed object, passing ownership if owned, and set
- // |should_delete| to true if it was the owner. If |should_delete|
- // is true on return, the caller should immediately delete the
- // DataContentDescription object.
- MediaContentDescription* Unshim(bool* should_delete);
-
- // Returns whether SCTP is in use. False when it's not decided.
- bool IsSctp() const;
- // Check function for use when caller obviously assumes RTP.
- void EnsureIsRtp();
-
- MediaContentDescription* real_description_ = nullptr;
- std::unique_ptr<MediaContentDescription> owned_description_;
-};
-
class RtpDataContentDescription
: public MediaContentDescriptionImpl<RtpDataCodec> {
public:
RtpDataContentDescription() {}
- RtpDataContentDescription(const RtpDataContentDescription& o)
- : MediaContentDescriptionImpl<RtpDataCodec>(o), shim_(nullptr) {}
- RtpDataContentDescription& operator=(const RtpDataContentDescription& o) {
- this->MediaContentDescriptionImpl<RtpDataCodec>::operator=(o);
- // Do not copy the shim.
- return *this;
- }
-
RtpDataContentDescription* Copy() const override {
return new RtpDataContentDescription(*this);
}
MediaType type() const override { return MEDIA_TYPE_DATA; }
RtpDataContentDescription* as_rtp_data() override { return this; }
const RtpDataContentDescription* as_rtp_data() const override { return this; }
- // Shim support
- RTC_DEPRECATED DataContentDescription* as_data() override;
- RTC_DEPRECATED const DataContentDescription* as_data() const override;
- DataContentDescription* deprecated_as_data() override;
-
- private:
- std::unique_ptr<DataContentDescription> shim_;
};
class SctpDataContentDescription : public MediaContentDescription {
@@ -478,18 +349,13 @@
: MediaContentDescription(o),
use_sctpmap_(o.use_sctpmap_),
port_(o.port_),
- max_message_size_(o.max_message_size_),
- shim_(nullptr) {}
+ max_message_size_(o.max_message_size_) {}
SctpDataContentDescription* Copy() const override {
return new SctpDataContentDescription(*this);
}
MediaType type() const override { return MEDIA_TYPE_DATA; }
SctpDataContentDescription* as_sctp() override { return this; }
const SctpDataContentDescription* as_sctp() const override { return this; }
- // Shim support
- RTC_DEPRECATED DataContentDescription* as_data() override;
- RTC_DEPRECATED const DataContentDescription* as_data() const override;
- DataContentDescription* deprecated_as_data() override;
bool has_codecs() const override { return false; }
void set_protocol(const std::string& protocol) override {
@@ -512,7 +378,6 @@
int port_ = 5000;
// draft-ietf-mmusic-sdp-sctp-23: Max message size default is 64K
int max_message_size_ = 64 * 1024;
- std::unique_ptr<DataContentDescription> shim_;
};
// Protocol used for encoding media. This is the "top level" protocol that may
diff --git a/pc/session_description_unittest.cc b/pc/session_description_unittest.cc
index eda83a5..6baf5a1 100644
--- a/pc/session_description_unittest.cc
+++ b/pc/session_description_unittest.cc
@@ -140,65 +140,5 @@
->extmap_allow_mixed_enum());
}
-// The tests for DataContentDescription will be deleted soon.
-// TODO(bugs.webrtc.org/10597): Declare this class obsolete and remove it
-
-TEST(SessionDescriptionTest, DataContentDescriptionCanAddStream) {
- auto description = absl::make_unique<DataContentDescription>();
- // Adding a stream without setting protocol first should work.
- description->AddLegacyStream(1234);
- EXPECT_EQ(1UL, description->streams().size());
-}
-
-TEST(SessionDescriptionTest, DataContentDescriptionCopyWorks) {
- auto description = absl::make_unique<RtpDataContentDescription>();
- auto shim_description = description->deprecated_as_data();
- auto shim_copy = shim_description->Copy();
- delete shim_copy;
-}
-
-TEST(SessionDescriptionTest, DataContentDescriptionCodecsCallableOnNull) {
- auto shim_description = absl::make_unique<DataContentDescription>();
- auto codec_list = shim_description->codecs();
- EXPECT_EQ(0UL, codec_list.size());
-}
-
-TEST(SessionDescriptionTest, DataContentDescriptionSctpConferenceMode) {
- auto description = absl::make_unique<SctpDataContentDescription>();
- auto shim_description = description->deprecated_as_data();
- EXPECT_FALSE(shim_description->conference_mode());
- shim_description->set_conference_mode(true);
- EXPECT_TRUE(shim_description->conference_mode());
-}
-
-TEST(SessionDescriptionTest, DataContentDesriptionInSessionIsUnwrapped) {
- auto description = absl::make_unique<DataContentDescription>();
- // Create a DTLS object behind the shim.
- description->set_protocol(kMediaProtocolUdpDtlsSctp);
- SessionDescription session;
- session.AddContent("name", MediaProtocolType::kSctp, std::move(description));
- ContentInfo* content = &(session.contents()[0]);
- ASSERT_TRUE(content);
- ASSERT_TRUE(content->media_description()->type() == MEDIA_TYPE_DATA);
- ASSERT_TRUE(content->media_description()->as_sctp());
-}
-
-TEST(SessionDescriptionTest,
- DataContentDescriptionInfoSurvivesInstantiationAsSctp) {
- auto description = absl::make_unique<DataContentDescription>();
- description->set_rtcp_mux(true);
- description->set_protocol(kMediaProtocolUdpDtlsSctp);
- EXPECT_TRUE(description->rtcp_mux());
-}
-
-TEST(SessionDescriptionTest,
- DataContentDescriptionStreamInfoSurvivesInstantiationAsRtp) {
- auto description = absl::make_unique<DataContentDescription>();
- StreamParams stream;
- description->AddLegacyStream(1234);
- EXPECT_EQ(1UL, description->streams().size());
- description->set_protocol(kMediaProtocolDtlsSavpf);
- EXPECT_EQ(1UL, description->streams().size());
-}
} // namespace cricket
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index 5784def..2fa004f 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -54,7 +54,6 @@
using cricket::Candidates;
using cricket::ContentInfo;
using cricket::CryptoParams;
-using cricket::DataContentDescription;
using cricket::ICE_CANDIDATE_COMPONENT_RTCP;
using cricket::ICE_CANDIDATE_COMPONENT_RTP;
using cricket::kCodecParamAssociatedPayloadType;