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 |