diff --git a/webrtc/media/base/fakemediaengine.h b/webrtc/media/base/fakemediaengine.h index 1e1ef6c9db..b9be39bdcf 100644 --- a/webrtc/media/base/fakemediaengine.h +++ b/webrtc/media/base/fakemediaengine.h @@ -716,6 +716,16 @@ class FakeBaseEngine { capabilities_.header_extensions = extensions; } + void set_rtp_header_extensions( + const std::vector& extensions) { + for (const cricket::RtpHeaderExtension& ext : extensions) { + RtpExtension webrtc_ext; + webrtc_ext.uri = ext.uri; + webrtc_ext.id = ext.id; + capabilities_.header_extensions.push_back(webrtc_ext); + } + } + protected: // Flag used by optionsmessagehandler_unittest for checking whether any // relevant setting has been updated. @@ -861,6 +871,15 @@ class FakeMediaEngine : video_.set_rtp_header_extensions(extensions); } + void SetAudioRtpHeaderExtensions( + const std::vector& extensions) { + voice_.set_rtp_header_extensions(extensions); + } + void SetVideoRtpHeaderExtensions( + const std::vector& extensions) { + video_.set_rtp_header_extensions(extensions); + } + FakeVoiceMediaChannel* GetVoiceChannel(size_t index) { return voice_.GetChannel(index); } diff --git a/webrtc/media/base/mediachannel.h b/webrtc/media/base/mediachannel.h index 61e450d4e1..ee431537b9 100644 --- a/webrtc/media/base/mediachannel.h +++ b/webrtc/media/base/mediachannel.h @@ -320,6 +320,24 @@ struct VideoOptions { } }; +// TODO(isheriff): Remove this once client usage is fixed to use RtpExtension. +struct RtpHeaderExtension { + RtpHeaderExtension() : id(0) {} + RtpHeaderExtension(const std::string& uri, int id) : uri(uri), id(id) {} + + std::string ToString() const { + std::ostringstream ost; + ost << "{"; + ost << "uri: " << uri; + ost << ", id: " << id; + ost << "}"; + return ost.str(); + } + + std::string uri; + int id; +}; + class MediaChannel : public sigslot::has_slots<> { public: class NetworkInterface { diff --git a/webrtc/pc/mediasession.h b/webrtc/pc/mediasession.h index 0a04bcf93f..272775e6b5 100644 --- a/webrtc/pc/mediasession.h +++ b/webrtc/pc/mediasession.h @@ -209,6 +209,13 @@ class MediaContentDescription : public ContentDescription { rtp_header_extensions_.push_back(ext); rtp_header_extensions_set_ = true; } + void AddRtpHeaderExtension(const cricket::RtpHeaderExtension& ext) { + webrtc::RtpExtension webrtc_extension; + webrtc_extension.uri = ext.uri; + webrtc_extension.id = ext.id; + rtp_header_extensions_.push_back(webrtc_extension); + rtp_header_extensions_set_ = true; + } void ClearRtpHeaderExtensions() { rtp_header_extensions_.clear(); rtp_header_extensions_set_ = true;