| Index: talk/session/media/mediasession.cc | 
| diff --git a/talk/session/media/mediasession.cc b/talk/session/media/mediasession.cc | 
| index 7413026092f1d6f8c8742e407d48376ac5a5ea01..ed626e2f3478b99d432e8a4a9ddcfdcc61d01162 100644 | 
| --- a/talk/session/media/mediasession.cc | 
| +++ b/talk/session/media/mediasession.cc | 
| @@ -50,6 +50,17 @@ static const uint32_t kMaxSctpSid = 1023; | 
|  | 
| namespace { | 
| const char kInline[] = "inline:"; | 
| + | 
| +void GetSupportedCryptoSuiteNames(void (*func)(std::vector<int>*), | 
| +                                  std::vector<std::string>* names) { | 
| +#ifdef HAVE_SRTP | 
| +  std::vector<int> crypto_suites; | 
| +  func(&crypto_suites); | 
| +  for (const auto crypto : crypto_suites) { | 
| +    names->push_back(rtc::SrtpCryptoSuiteToName(crypto)); | 
| +  } | 
| +#endif | 
| +} | 
| } | 
|  | 
| namespace cricket { | 
| @@ -152,30 +163,50 @@ bool FindMatchingCrypto(const CryptoParamsVec& cryptos, | 
| } | 
|  | 
| // For audio, HMAC 32 is prefered because of the low overhead. | 
| -void GetSupportedAudioCryptoSuites( | 
| -    std::vector<std::string>* crypto_suites) { | 
| +void GetSupportedAudioCryptoSuites(std::vector<int>* crypto_suites) { | 
| #ifdef HAVE_SRTP | 
| -  crypto_suites->push_back(rtc::CS_AES_CM_128_HMAC_SHA1_32); | 
| -  crypto_suites->push_back(rtc::CS_AES_CM_128_HMAC_SHA1_80); | 
| +  crypto_suites->push_back(rtc::SRTP_AES128_CM_SHA1_32); | 
| +  crypto_suites->push_back(rtc::SRTP_AES128_CM_SHA1_80); | 
| #endif | 
| } | 
|  | 
| -void GetSupportedVideoCryptoSuites( | 
| -    std::vector<std::string>* crypto_suites) { | 
| -  GetDefaultSrtpCryptoSuiteNames(crypto_suites); | 
| +void GetSupportedAudioCryptoSuiteNames( | 
| +    std::vector<std::string>* crypto_suite_names) { | 
| +  GetSupportedCryptoSuiteNames(GetSupportedAudioCryptoSuites, | 
| +                               crypto_suite_names); | 
| +} | 
| + | 
| +void GetSupportedVideoCryptoSuites(std::vector<int>* crypto_suites) { | 
| +  GetDefaultSrtpCryptoSuites(crypto_suites); | 
| } | 
|  | 
| -void GetSupportedDataCryptoSuites( | 
| -    std::vector<std::string>* crypto_suites) { | 
| -  GetDefaultSrtpCryptoSuiteNames(crypto_suites); | 
| +void GetSupportedVideoCryptoSuiteNames( | 
| +    std::vector<std::string>* crypto_suite_names) { | 
| +  GetSupportedCryptoSuiteNames(GetSupportedVideoCryptoSuites, | 
| +                               crypto_suite_names); | 
| } | 
|  | 
| -void GetDefaultSrtpCryptoSuiteNames(std::vector<std::string>* crypto_suites) { | 
| +void GetSupportedDataCryptoSuites(std::vector<int>* crypto_suites) { | 
| +  GetDefaultSrtpCryptoSuites(crypto_suites); | 
| +} | 
| + | 
| +void GetSupportedDataCryptoSuiteNames( | 
| +    std::vector<std::string>* crypto_suite_names) { | 
| +  GetSupportedCryptoSuiteNames(GetSupportedDataCryptoSuites, | 
| +                               crypto_suite_names); | 
| +} | 
| + | 
| +void GetDefaultSrtpCryptoSuites(std::vector<int>* crypto_suites) { | 
| #ifdef HAVE_SRTP | 
| -  crypto_suites->push_back(rtc::CS_AES_CM_128_HMAC_SHA1_80); | 
| +  crypto_suites->push_back(rtc::SRTP_AES128_CM_SHA1_80); | 
| #endif | 
| } | 
|  | 
| +void GetDefaultSrtpCryptoSuiteNames( | 
| +    std::vector<std::string>* crypto_suite_names) { | 
| +  GetSupportedCryptoSuiteNames(GetDefaultSrtpCryptoSuites, crypto_suite_names); | 
| +} | 
| + | 
| // For video support only 80-bit SHA1 HMAC. For audio 32-bit HMAC is | 
| // tolerated unless bundle is enabled because it is low overhead. Pick the | 
| // crypto in the list that is supported. | 
| @@ -1514,7 +1545,7 @@ bool MediaSessionDescriptionFactory::AddAudioContentForOffer( | 
|  | 
| scoped_ptr<AudioContentDescription> audio(new AudioContentDescription()); | 
| std::vector<std::string> crypto_suites; | 
| -  GetSupportedAudioCryptoSuites(&crypto_suites); | 
| +  GetSupportedAudioCryptoSuiteNames(&crypto_suites); | 
| if (!CreateMediaContentOffer( | 
| options, | 
| audio_codecs, | 
| @@ -1568,7 +1599,7 @@ bool MediaSessionDescriptionFactory::AddVideoContentForOffer( | 
|  | 
| scoped_ptr<VideoContentDescription> video(new VideoContentDescription()); | 
| std::vector<std::string> crypto_suites; | 
| -  GetSupportedVideoCryptoSuites(&crypto_suites); | 
| +  GetSupportedVideoCryptoSuiteNames(&crypto_suites); | 
| if (!CreateMediaContentOffer( | 
| options, | 
| video_codecs, | 
| @@ -1638,7 +1669,7 @@ bool MediaSessionDescriptionFactory::AddDataContentForOffer( | 
| data->set_protocol( | 
| secure_transport ? kMediaProtocolDtlsSctp : kMediaProtocolSctp); | 
| } else { | 
| -    GetSupportedDataCryptoSuites(&crypto_suites); | 
| +    GetSupportedDataCryptoSuiteNames(&crypto_suites); | 
| } | 
|  | 
| if (!CreateMediaContentOffer( | 
|  |