Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: webrtc/api/webrtcsession_unittest.cc

Issue 2166873002: Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Change the comments and minor fix. Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/api/webrtcsession.cc ('k') | webrtc/media/base/mediaengine.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 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 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 session_options->recv_video = 551 session_options->recv_video =
552 session_options->HasSendMediaStream(cricket::MEDIA_TYPE_VIDEO); 552 session_options->HasSendMediaStream(cricket::MEDIA_TYPE_VIDEO);
553 } 553 }
554 session_options->bundle_enabled = 554 session_options->bundle_enabled =
555 session_options->bundle_enabled && 555 session_options->bundle_enabled &&
556 (session_options->has_audio() || session_options->has_video() || 556 (session_options->has_audio() || session_options->has_video() ||
557 session_options->has_data()); 557 session_options->has_data());
558 558
559 if (session_->data_channel_type() == cricket::DCT_SCTP && data_channel_) { 559 if (session_->data_channel_type() == cricket::DCT_SCTP && data_channel_) {
560 session_options->data_channel_type = cricket::DCT_SCTP; 560 session_options->data_channel_type = cricket::DCT_SCTP;
561 } else if (session_->data_channel_type() == cricket::DCT_QUIC) {
562 session_options->data_channel_type = cricket::DCT_QUIC;
561 } 563 }
562 564
563 if (with_gcm_) { 565 if (with_gcm_) {
564 session_options->crypto_options.enable_gcm_crypto_suites = true; 566 session_options->crypto_options.enable_gcm_crypto_suites = true;
565 } 567 }
566 } 568 }
567 569
568 void GetOptionsForAnswer(cricket::MediaSessionOptions* session_options) { 570 void GetOptionsForAnswer(cricket::MediaSessionOptions* session_options) {
569 // ParseConstraintsForAnswer is used to set some defaults. 571 // ParseConstraintsForAnswer is used to set some defaults.
570 ASSERT_TRUE(webrtc::ParseConstraintsForAnswer(nullptr, session_options)); 572 ASSERT_TRUE(webrtc::ParseConstraintsForAnswer(nullptr, session_options));
571 573
572 AddStreamsToOptions(session_options); 574 AddStreamsToOptions(session_options);
573 session_options->bundle_enabled = 575 session_options->bundle_enabled =
574 session_options->bundle_enabled && 576 session_options->bundle_enabled &&
575 (session_options->has_audio() || session_options->has_video() || 577 (session_options->has_audio() || session_options->has_video() ||
576 session_options->has_data()); 578 session_options->has_data());
577 579
578 if (session_->data_channel_type() == cricket::DCT_SCTP) { 580 if (session_->data_channel_type() != cricket::DCT_RTP) {
579 session_options->data_channel_type = cricket::DCT_SCTP; 581 session_options->data_channel_type = session_->data_channel_type();
580 } 582 }
581 583
582 if (with_gcm_) { 584 if (with_gcm_) {
583 session_options->crypto_options.enable_gcm_crypto_suites = true; 585 session_options->crypto_options.enable_gcm_crypto_suites = true;
584 } 586 }
585 } 587 }
586 588
587 // Creates a local offer and applies it. Starts ICE. 589 // Creates a local offer and applies it. Starts ICE.
588 // Call SendAudioVideoStreamX() before this function 590 // Call SendAudioVideoStreamX() before this function
589 // to decide which streams to create. 591 // to decide which streams to create.
(...skipping 3615 matching lines...) Expand 10 before | Expand all | Expand 10 after
4205 candidate1.set_address(rtc::SocketAddress("1.1.1.1", 5000)); 4207 candidate1.set_address(rtc::SocketAddress("1.1.1.1", 5000));
4206 candidate1.set_component(1); 4208 candidate1.set_component(1);
4207 JsepIceCandidate ice_candidate(kMediaContentName1, kMediaContentIndex1, 4209 JsepIceCandidate ice_candidate(kMediaContentName1, kMediaContentIndex1,
4208 candidate1); 4210 candidate1);
4209 EXPECT_TRUE(session_->ProcessIceMessage(&ice_candidate)); 4211 EXPECT_TRUE(session_->ProcessIceMessage(&ice_candidate));
4210 4212
4211 answer = CreateAnswer(); 4213 answer = CreateAnswer();
4212 SetLocalDescriptionWithoutError(answer); 4214 SetLocalDescriptionWithoutError(answer);
4213 } 4215 }
4214 4216
4217 #ifdef HAVE_QUIC
4218 TEST_P(WebRtcSessionTest, TestNegotiateQuic) {
4219 configuration_.enable_quic = true;
4220 InitWithDtls(GetParam());
4221 EXPECT_TRUE(session_->data_channel_type() == cricket::DCT_QUIC);
4222 SessionDescriptionInterface* offer = CreateOffer();
4223 ASSERT_TRUE(offer);
4224 ASSERT_TRUE(offer->description());
4225 SetLocalDescriptionWithoutError(offer);
4226 cricket::MediaSessionOptions options;
4227 options.recv_audio = true;
4228 options.recv_video = true;
4229 SessionDescriptionInterface* answer =
4230 CreateRemoteAnswer(offer, options, cricket::SEC_DISABLED);
4231 ASSERT_TRUE(answer);
4232 ASSERT_TRUE(answer->description());
4233 SetRemoteDescriptionWithoutError(answer);
4234 }
4235 #endif // HAVE_QUIC
4236
4215 // Tests that RTX codec is removed from the answer when it isn't supported 4237 // Tests that RTX codec is removed from the answer when it isn't supported
4216 // by local side. 4238 // by local side.
4217 TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) { 4239 TEST_F(WebRtcSessionTest, TestRtxRemovedByCreateAnswer) {
4218 Init(); 4240 Init();
4219 SendAudioVideoStream1(); 4241 SendAudioVideoStream1();
4220 std::string offer_sdp(kSdpWithRtx); 4242 std::string offer_sdp(kSdpWithRtx);
4221 4243
4222 SessionDescriptionInterface* offer = 4244 SessionDescriptionInterface* offer =
4223 CreateSessionDescription(JsepSessionDescription::kOffer, offer_sdp, NULL); 4245 CreateSessionDescription(JsepSessionDescription::kOffer, offer_sdp, NULL);
4224 EXPECT_TRUE(offer->ToString(&offer_sdp)); 4246 EXPECT_TRUE(offer->ToString(&offer_sdp));
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
4323 } 4345 }
4324 4346
4325 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test 4347 // TODO(bemasc): Add a TestIceStatesBundle with BUNDLE enabled. That test
4326 // currently fails because upon disconnection and reconnection OnIceComplete is 4348 // currently fails because upon disconnection and reconnection OnIceComplete is
4327 // called more than once without returning to IceGatheringGathering. 4349 // called more than once without returning to IceGatheringGathering.
4328 4350
4329 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests, 4351 INSTANTIATE_TEST_CASE_P(WebRtcSessionTests,
4330 WebRtcSessionTest, 4352 WebRtcSessionTest,
4331 testing::Values(ALREADY_GENERATED, 4353 testing::Values(ALREADY_GENERATED,
4332 DTLS_IDENTITY_STORE)); 4354 DTLS_IDENTITY_STORE));
OLDNEW
« no previous file with comments | « webrtc/api/webrtcsession.cc ('k') | webrtc/media/base/mediaengine.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698