diff --git a/webrtc/api/ortc/mediadescription.h b/webrtc/api/ortc/mediadescription.h index 7e811eca9c..39b67bd1b4 100644 --- a/webrtc/api/ortc/mediadescription.h +++ b/webrtc/api/ortc/mediadescription.h @@ -13,8 +13,10 @@ #include #include +#include #include "webrtc/base/optional.h" +#include "webrtc/media/base/cryptoparams.h" namespace webrtc { @@ -32,8 +34,18 @@ class MediaDescription { rtc::Optional mid() const { return mid_; } void set_mid(std::string mid) { mid_.emplace(std::move(mid)); } + // Security keys and parameters for this media stream. Can be used to + // negotiate parameters for SRTP. + // https://tools.ietf.org/html/rfc4568#page-5 + std::vector& sdes_params() { return sdes_params_; } + const std::vector& sdes_params() const { + return sdes_params_; + } + private: rtc::Optional mid_; + + std::vector sdes_params_; }; } // namespace webrtc diff --git a/webrtc/api/ortc/mediadescription_unittest.cc b/webrtc/api/ortc/mediadescription_unittest.cc index a17fde2acc..d033a4eafb 100644 --- a/webrtc/api/ortc/mediadescription_unittest.cc +++ b/webrtc/api/ortc/mediadescription_unittest.cc @@ -19,4 +19,12 @@ TEST_F(MediaDescriptionTest, CreateMediaDescription) { MediaDescription m("a"); EXPECT_EQ("a", m.mid()); } + +TEST_F(MediaDescriptionTest, AddSdesParam) { + MediaDescription m("a"); + m.sdes_params().push_back(cricket::CryptoParams()); + const std::vector& params = m.sdes_params(); + EXPECT_EQ(1u, params.size()); } + +} // namespace webrtc