| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2011 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 1110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1121 AudioContentDescription* CreateAudioContentDescription() { | 1121 AudioContentDescription* CreateAudioContentDescription() { |
| 1122 AudioContentDescription* audio = new AudioContentDescription(); | 1122 AudioContentDescription* audio = new AudioContentDescription(); |
| 1123 audio->set_rtcp_mux(true); | 1123 audio->set_rtcp_mux(true); |
| 1124 audio->set_rtcp_reduced_size(true); | 1124 audio->set_rtcp_reduced_size(true); |
| 1125 audio->AddCrypto(CryptoParams(1, "AES_CM_128_HMAC_SHA1_32", | 1125 audio->AddCrypto(CryptoParams(1, "AES_CM_128_HMAC_SHA1_32", |
| 1126 "inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj|2^20|1:32", | 1126 "inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj|2^20|1:32", |
| 1127 "dummy_session_params")); | 1127 "dummy_session_params")); |
| 1128 audio->set_protocol(cricket::kMediaProtocolSavpf); | 1128 audio->set_protocol(cricket::kMediaProtocolSavpf); |
| 1129 AudioCodec opus(111, "opus", 48000, 0, 2); | 1129 AudioCodec opus(111, "opus", 48000, 0, 2); |
| 1130 audio->AddCodec(opus); | 1130 audio->AddCodec(opus); |
| 1131 audio->AddCodec(AudioCodec(103, "ISAC", 16000, 32000, 1)); | 1131 audio->AddCodec(AudioCodec(103, "ISAC", 16000, 0, 1)); |
| 1132 audio->AddCodec(AudioCodec(104, "ISAC", 32000, 56000, 1)); | 1132 audio->AddCodec(AudioCodec(104, "ISAC", 32000, 0, 1)); |
| 1133 return audio; | 1133 return audio; |
| 1134 } | 1134 } |
| 1135 | 1135 |
| 1136 // Creates a video content description with no streams, and some default | 1136 // Creates a video content description with no streams, and some default |
| 1137 // configuration. | 1137 // configuration. |
| 1138 VideoContentDescription* CreateVideoContentDescription() { | 1138 VideoContentDescription* CreateVideoContentDescription() { |
| 1139 VideoContentDescription* video = new VideoContentDescription(); | 1139 VideoContentDescription* video = new VideoContentDescription(); |
| 1140 video->AddCrypto(CryptoParams( | 1140 video->AddCrypto(CryptoParams( |
| 1141 1, "AES_CM_128_HMAC_SHA1_80", | 1141 1, "AES_CM_128_HMAC_SHA1_80", |
| 1142 "inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32", "")); | 1142 "inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32", "")); |
| (...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1657 VerifyCodecParameter(opus.params, "minptime", params.min_ptime); | 1657 VerifyCodecParameter(opus.params, "minptime", params.min_ptime); |
| 1658 VerifyCodecParameter(opus.params, "stereo", params.stereo); | 1658 VerifyCodecParameter(opus.params, "stereo", params.stereo); |
| 1659 VerifyCodecParameter(opus.params, "sprop-stereo", params.sprop_stereo); | 1659 VerifyCodecParameter(opus.params, "sprop-stereo", params.sprop_stereo); |
| 1660 VerifyCodecParameter(opus.params, "useinbandfec", params.useinband); | 1660 VerifyCodecParameter(opus.params, "useinbandfec", params.useinband); |
| 1661 VerifyCodecParameter(opus.params, "maxaveragebitrate", | 1661 VerifyCodecParameter(opus.params, "maxaveragebitrate", |
| 1662 params.maxaveragebitrate); | 1662 params.maxaveragebitrate); |
| 1663 for (size_t i = 0; i < acd->codecs().size(); ++i) { | 1663 for (size_t i = 0; i < acd->codecs().size(); ++i) { |
| 1664 cricket::AudioCodec codec = acd->codecs()[i]; | 1664 cricket::AudioCodec codec = acd->codecs()[i]; |
| 1665 VerifyCodecParameter(codec.params, "ptime", params.ptime); | 1665 VerifyCodecParameter(codec.params, "ptime", params.ptime); |
| 1666 VerifyCodecParameter(codec.params, "maxptime", params.max_ptime); | 1666 VerifyCodecParameter(codec.params, "maxptime", params.max_ptime); |
| 1667 if (codec.name == "ISAC") { | |
| 1668 if (codec.clockrate == 16000) { | |
| 1669 EXPECT_EQ(32000, codec.bitrate); | |
| 1670 } else { | |
| 1671 EXPECT_EQ(56000, codec.bitrate); | |
| 1672 } | |
| 1673 } | |
| 1674 } | 1667 } |
| 1675 | 1668 |
| 1676 const ContentInfo* vc = GetFirstVideoContent(jdesc_output->description()); | 1669 const ContentInfo* vc = GetFirstVideoContent(jdesc_output->description()); |
| 1677 ASSERT_TRUE(vc != NULL); | 1670 ASSERT_TRUE(vc != NULL); |
| 1678 const VideoContentDescription* vcd = | 1671 const VideoContentDescription* vcd = |
| 1679 static_cast<const VideoContentDescription*>(vc->description); | 1672 static_cast<const VideoContentDescription*>(vc->description); |
| 1680 ASSERT_FALSE(vcd->codecs().empty()); | 1673 ASSERT_FALSE(vcd->codecs().empty()); |
| 1681 cricket::VideoCodec vp8 = vcd->codecs()[0]; | 1674 cricket::VideoCodec vp8 = vcd->codecs()[0]; |
| 1682 EXPECT_EQ("VP8", vp8.name); | 1675 EXPECT_EQ("VP8", vp8.name); |
| 1683 EXPECT_EQ(99, vp8.id); | 1676 EXPECT_EQ(99, vp8.id); |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2268 JsepSessionDescription jdesc(kDummyString); | 2261 JsepSessionDescription jdesc(kDummyString); |
| 2269 EXPECT_TRUE(SdpDeserialize(kSdpNoRtpmapString, &jdesc)); | 2262 EXPECT_TRUE(SdpDeserialize(kSdpNoRtpmapString, &jdesc)); |
| 2270 cricket::AudioContentDescription* audio = | 2263 cricket::AudioContentDescription* audio = |
| 2271 static_cast<AudioContentDescription*>( | 2264 static_cast<AudioContentDescription*>( |
| 2272 jdesc.description()->GetContentDescriptionByName(cricket::CN_AUDIO)); | 2265 jdesc.description()->GetContentDescriptionByName(cricket::CN_AUDIO)); |
| 2273 AudioCodecs ref_codecs; | 2266 AudioCodecs ref_codecs; |
| 2274 // The codecs in the AudioContentDescription should be in the same order as | 2267 // The codecs in the AudioContentDescription should be in the same order as |
| 2275 // the payload types (<fmt>s) on the m= line. | 2268 // the payload types (<fmt>s) on the m= line. |
| 2276 ref_codecs.push_back(AudioCodec(0, "PCMU", 8000, 0, 1)); | 2269 ref_codecs.push_back(AudioCodec(0, "PCMU", 8000, 0, 1)); |
| 2277 ref_codecs.push_back(AudioCodec(18, "G729", 16000, 0, 1)); | 2270 ref_codecs.push_back(AudioCodec(18, "G729", 16000, 0, 1)); |
| 2278 ref_codecs.push_back(AudioCodec(103, "ISAC", 16000, 32000, 1)); | 2271 ref_codecs.push_back(AudioCodec(103, "ISAC", 16000, 0, 1)); |
| 2279 EXPECT_EQ(ref_codecs, audio->codecs()); | 2272 EXPECT_EQ(ref_codecs, audio->codecs()); |
| 2280 } | 2273 } |
| 2281 | 2274 |
| 2282 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutRtpmapButWithFmtp) { | 2275 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithoutRtpmapButWithFmtp) { |
| 2283 static const char kSdpNoRtpmapString[] = | 2276 static const char kSdpNoRtpmapString[] = |
| 2284 "v=0\r\n" | 2277 "v=0\r\n" |
| 2285 "o=- 11 22 IN IP4 127.0.0.1\r\n" | 2278 "o=- 11 22 IN IP4 127.0.0.1\r\n" |
| 2286 "s=-\r\n" | 2279 "s=-\r\n" |
| 2287 "t=0 0\r\n" | 2280 "t=0 0\r\n" |
| 2288 "m=audio 49232 RTP/AVP 18 103\r\n" | 2281 "m=audio 49232 RTP/AVP 18 103\r\n" |
| (...skipping 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3339 "v=0\r\n" | 3332 "v=0\r\n" |
| 3340 "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n" | 3333 "o=- 18446744069414584320 18446462598732840960 IN IP4 127.0.0.1\r\n" |
| 3341 "s=-\r\n" | 3334 "s=-\r\n" |
| 3342 "t=0 0\r\n" | 3335 "t=0 0\r\n" |
| 3343 "m=video 3457 RTP/SAVPF 120\r\n" | 3336 "m=video 3457 RTP/SAVPF 120\r\n" |
| 3344 "b=AS:2147483647\r\n" | 3337 "b=AS:2147483647\r\n" |
| 3345 "foo=fail\r\n"; | 3338 "foo=fail\r\n"; |
| 3346 | 3339 |
| 3347 ExpectParseFailure(std::string(kSdpWithLargeBandwidth), "foo=fail"); | 3340 ExpectParseFailure(std::string(kSdpWithLargeBandwidth), "foo=fail"); |
| 3348 } | 3341 } |
| OLD | NEW |