OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2011 Google Inc. | 3 * Copyright 2011 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 1680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1691 TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithDataChannelAndBandwidth) { | 1691 TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithDataChannelAndBandwidth) { |
1692 AddRtpDataChannel(); | 1692 AddRtpDataChannel(); |
1693 data_desc_->set_bandwidth(100*1000); | 1693 data_desc_->set_bandwidth(100*1000); |
1694 JsepSessionDescription jsep_desc(kDummyString); | 1694 JsepSessionDescription jsep_desc(kDummyString); |
1695 | 1695 |
1696 ASSERT_TRUE(jsep_desc.Initialize(desc_.Copy(), kSessionId, kSessionVersion)); | 1696 ASSERT_TRUE(jsep_desc.Initialize(desc_.Copy(), kSessionId, kSessionVersion)); |
1697 std::string message = webrtc::SdpSerialize(jsep_desc); | 1697 std::string message = webrtc::SdpSerialize(jsep_desc); |
1698 | 1698 |
1699 std::string expected_sdp = kSdpString; | 1699 std::string expected_sdp = kSdpString; |
1700 expected_sdp.append(kSdpRtpDataChannelString); | 1700 expected_sdp.append(kSdpRtpDataChannelString); |
1701 // We want to test that serializing data content ignores bandwidth | 1701 // Serializing data content shouldn't ignore bandwidth settings. |
1702 // settings (it should always be the default). Thus, we don't do | |
1703 // the following: | |
1704 // TODO(pthatcher): We need to temporarily allow the SDP to control | |
1705 // this for backwards-compatibility. Once we don't need that any | |
1706 // more, remove this. | |
1707 InjectAfter("m=application 9 RTP/SAVPF 101\r\nc=IN IP4 0.0.0.0\r\n", | 1702 InjectAfter("m=application 9 RTP/SAVPF 101\r\nc=IN IP4 0.0.0.0\r\n", |
1708 "b=AS:100\r\n", | 1703 "b=AS:100\r\n", |
1709 &expected_sdp); | 1704 &expected_sdp); |
1710 EXPECT_EQ(expected_sdp, message); | 1705 EXPECT_EQ(expected_sdp, message); |
1711 } | 1706 } |
1712 | 1707 |
1713 TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithExtmap) { | 1708 TEST_F(WebRtcSdpTest, SerializeSessionDescriptionWithExtmap) { |
1714 AddExtmap(); | 1709 AddExtmap(); |
1715 JsepSessionDescription desc_with_extmap("dummy"); | 1710 JsepSessionDescription desc_with_extmap("dummy"); |
1716 ASSERT_TRUE(desc_with_extmap.Initialize(desc_.Copy(), | 1711 ASSERT_TRUE(desc_with_extmap.Initialize(desc_.Copy(), |
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2254 unusual_portstr, strlen(unusual_portstr), | 2249 unusual_portstr, strlen(unusual_portstr), |
2255 &sdp_with_data); | 2250 &sdp_with_data); |
2256 | 2251 |
2257 EXPECT_TRUE(SdpDeserialize(sdp_with_data, &jdesc_output)); | 2252 EXPECT_TRUE(SdpDeserialize(sdp_with_data, &jdesc_output)); |
2258 EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_output)); | 2253 EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_output)); |
2259 } | 2254 } |
2260 | 2255 |
2261 TEST_F(WebRtcSdpTest, DeserializeSdpWithRtpDataChannelsAndBandwidth) { | 2256 TEST_F(WebRtcSdpTest, DeserializeSdpWithRtpDataChannelsAndBandwidth) { |
2262 AddRtpDataChannel(); | 2257 AddRtpDataChannel(); |
2263 JsepSessionDescription jdesc(kDummyString); | 2258 JsepSessionDescription jdesc(kDummyString); |
2264 // We want to test that deserializing data content ignores bandwidth | 2259 // We want to test that deserializing data content limits bandwidth |
2265 // settings (it should always be the default). Thus, we don't do | 2260 // settings (it should never be greater than the default). |
2266 // the following: | 2261 // This should prevent someone from using unlimited data bandwidth through |
2267 // TODO(pthatcher): We need to temporarily allow the SDP to control | 2262 // JS and "breaking the Internet". |
2268 // this for backwards-compatibility. Once we don't need that any | |
2269 // more, remove this. | |
2270 DataContentDescription* dcd = static_cast<DataContentDescription*>( | 2263 DataContentDescription* dcd = static_cast<DataContentDescription*>( |
2271 GetFirstDataContent(&desc_)->description); | 2264 GetFirstDataContent(&desc_)->description); |
2272 dcd->set_bandwidth(100 * 1000); | 2265 dcd->set_bandwidth(100 * 1000); |
2273 ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion)); | 2266 ASSERT_TRUE(jdesc.Initialize(desc_.Copy(), kSessionId, kSessionVersion)); |
2274 | 2267 |
2275 std::string sdp_with_bandwidth = kSdpString; | 2268 std::string sdp_with_bandwidth = kSdpString; |
2276 sdp_with_bandwidth.append(kSdpRtpDataChannelString); | 2269 sdp_with_bandwidth.append(kSdpRtpDataChannelString); |
2277 InjectAfter("a=mid:data_content_name\r\n", | 2270 InjectAfter("a=mid:data_content_name\r\n", |
2278 "b=AS:100\r\n", | 2271 "b=AS:100\r\n", |
2279 &sdp_with_bandwidth); | 2272 &sdp_with_bandwidth); |
2280 JsepSessionDescription jdesc_with_bandwidth(kDummyString); | 2273 JsepSessionDescription jdesc_with_bandwidth(kDummyString); |
2281 | 2274 |
2282 EXPECT_TRUE( | 2275 EXPECT_FALSE(SdpDeserialize(sdp_with_bandwidth, &jdesc_with_bandwidth)); |
2283 SdpDeserialize(sdp_with_bandwidth, &jdesc_with_bandwidth)); | |
2284 EXPECT_TRUE(CompareSessionDescription(jdesc, jdesc_with_bandwidth)); | |
2285 } | 2276 } |
2286 | 2277 |
2287 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithSessionLevelExtmap) { | 2278 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithSessionLevelExtmap) { |
2288 TestDeserializeExtmap(true, false); | 2279 TestDeserializeExtmap(true, false); |
2289 } | 2280 } |
2290 | 2281 |
2291 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithMediaLevelExtmap) { | 2282 TEST_F(WebRtcSdpTest, DeserializeSessionDescriptionWithMediaLevelExtmap) { |
2292 TestDeserializeExtmap(false, true); | 2283 TestDeserializeExtmap(false, true); |
2293 } | 2284 } |
2294 | 2285 |
(...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2709 const cricket::MediaContentDescription* mdesc = | 2700 const cricket::MediaContentDescription* mdesc = |
2710 static_cast<const cricket::MediaContentDescription*>( | 2701 static_cast<const cricket::MediaContentDescription*>( |
2711 desc->contents()[i].description); | 2702 desc->contents()[i].description); |
2712 EXPECT_EQ(media_types[media_content_in_sdp[i]], mdesc->type()); | 2703 EXPECT_EQ(media_types[media_content_in_sdp[i]], mdesc->type()); |
2713 } | 2704 } |
2714 | 2705 |
2715 std::string serialized_sdp = webrtc::SdpSerialize(jdesc); | 2706 std::string serialized_sdp = webrtc::SdpSerialize(jdesc); |
2716 EXPECT_EQ(sdp_string, serialized_sdp); | 2707 EXPECT_EQ(sdp_string, serialized_sdp); |
2717 } | 2708 } |
2718 } | 2709 } |
OLD | NEW |