From 7aeabd081f148e489d1e9d360c3fe7587a92b606 Mon Sep 17 00:00:00 2001 From: zstein Date: Fri, 17 Mar 2017 19:10:37 -0700 Subject: [PATCH] Add CryptoParams to webrtc::MediaSession. SrtpTransportInterface methods take cricket::CryptoParams, so this should be enough for now. BUG=webrtc:7311 Review-Url: https://codereview.webrtc.org/2753343002 Cr-Commit-Position: refs/heads/master@{#17299} --- webrtc/api/ortc/mediadescription.h | 12 ++++++++++++ webrtc/api/ortc/mediadescription_unittest.cc | 8 ++++++++ 2 files changed, 20 insertions(+) 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