diff options
author | deadbeef <deadbeef@webrtc.org> | 2015-07-15 12:20:53 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-15 19:20:56 +0000 |
commit | f39382943449b7e44ac563e05a14203534591acf (patch) | |
tree | 4de47259c6d04ff9b6257143b7a343b46ea61ae8 /talk/session | |
parent | fb19f49c149018c02bd929cbb962aad4b3118000 (diff) | |
download | webrtc-f39382943449b7e44ac563e05a14203534591acf.tar.gz |
Use "UDP/TLS/RTP/SAVPF" profile in offer when DTLS-SRTP is used.
Tested that this doesn't break compatibility with Firefox or older
versions of Chrome, no matter which side generates the initial offer.
BUG=webrtc:2796
Review URL: https://codereview.webrtc.org/1219333002
Cr-Commit-Position: refs/heads/master@{#9589}
Diffstat (limited to 'talk/session')
-rw-r--r-- | talk/session/media/mediasession.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/talk/session/media/mediasession.cc b/talk/session/media/mediasession.cc index b299944519..dc4f4080af 100644 --- a/talk/session/media/mediasession.cc +++ b/talk/session/media/mediasession.cc @@ -63,8 +63,8 @@ const char kMediaProtocolAvpf[] = "RTP/AVPF"; // RFC5124 const char kMediaProtocolDtlsSavpf[] = "UDP/TLS/RTP/SAVPF"; -// This should be replaced by "UDP/TLS/RTP/SAVPF", but we need to support it for -// now to be compatible with previous Chrome versions. +// We always generate offers with "UDP/TLS/RTP/SAVPF" when using DTLS-SRTP, +// but we tolerate "RTP/SAVPF" in offers we receive, for compatibility. const char kMediaProtocolSavpf[] = "RTP/SAVPF"; const char kMediaProtocolRtpPrefix[] = "RTP/"; @@ -614,8 +614,8 @@ static bool IsRtpContent(SessionDescription* sdesc, return false; } is_rtp = media_desc->protocol().empty() || - rtc::starts_with(media_desc->protocol().data(), - kMediaProtocolRtpPrefix); + (media_desc->protocol().find(cricket::kMediaProtocolRtpPrefix) != + std::string::npos); } return is_rtp; } @@ -1047,8 +1047,10 @@ static bool IsMediaProtocolSupported(MediaType type, static void SetMediaProtocol(bool secure_transport, MediaContentDescription* desc) { - if (!desc->cryptos().empty() || secure_transport) + if (!desc->cryptos().empty()) desc->set_protocol(kMediaProtocolSavpf); + else if (secure_transport) + desc->set_protocol(kMediaProtocolDtlsSavpf); else desc->set_protocol(kMediaProtocolAvpf); } |