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-Original-Commit-Position: refs/heads/master@{#17299}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 7aeabd081f148e489d1e9d360c3fe7587a92b606
diff --git a/api/ortc/mediadescription.h b/api/ortc/mediadescription.h
index 7e811ec..39b67bd 100644
--- a/api/ortc/mediadescription.h
+++ b/api/ortc/mediadescription.h
@@ -13,8 +13,10 @@
#include <string>
#include <utility>
+#include <vector>
#include "webrtc/base/optional.h"
+#include "webrtc/media/base/cryptoparams.h"
namespace webrtc {
@@ -32,8 +34,18 @@
rtc::Optional<std::string> 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<cricket::CryptoParams>& sdes_params() { return sdes_params_; }
+ const std::vector<cricket::CryptoParams>& sdes_params() const {
+ return sdes_params_;
+ }
+
private:
rtc::Optional<std::string> mid_;
+
+ std::vector<cricket::CryptoParams> sdes_params_;
};
} // namespace webrtc
diff --git a/api/ortc/mediadescription_unittest.cc b/api/ortc/mediadescription_unittest.cc
index a17fde2..d033a4e 100644
--- a/api/ortc/mediadescription_unittest.cc
+++ b/api/ortc/mediadescription_unittest.cc
@@ -19,4 +19,12 @@
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<cricket::CryptoParams>& params = m.sdes_params();
+ EXPECT_EQ(1u, params.size());
}
+
+} // namespace webrtc