| OLD | NEW |
| 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 1375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1386 | 1386 |
| 1387 // This test sets up a audio call initially, with the callee rejecting video | 1387 // This test sets up a audio call initially, with the callee rejecting video |
| 1388 // initially. Then later the callee decides to upgrade to audio/video, and | 1388 // initially. Then later the callee decides to upgrade to audio/video, and |
| 1389 // initiates a new offer/answer exchange. | 1389 // initiates a new offer/answer exchange. |
| 1390 TEST_F(PeerConnectionIntegrationTest, AudioToVideoUpgrade) { | 1390 TEST_F(PeerConnectionIntegrationTest, AudioToVideoUpgrade) { |
| 1391 ASSERT_TRUE(CreatePeerConnectionWrappers()); | 1391 ASSERT_TRUE(CreatePeerConnectionWrappers()); |
| 1392 ConnectFakeSignaling(); | 1392 ConnectFakeSignaling(); |
| 1393 // Initially, offer an audio/video stream from the caller, but refuse to | 1393 // Initially, offer an audio/video stream from the caller, but refuse to |
| 1394 // send/receive video on the callee side. | 1394 // send/receive video on the callee side. |
| 1395 caller()->AddAudioVideoMediaStream(); | 1395 caller()->AddAudioVideoMediaStream(); |
| 1396 callee()->AddMediaStreamFromTracks(callee()->CreateLocalAudioTrack(), | 1396 callee()->AddAudioOnlyMediaStream(); |
| 1397 nullptr); | |
| 1398 PeerConnectionInterface::RTCOfferAnswerOptions options; | 1397 PeerConnectionInterface::RTCOfferAnswerOptions options; |
| 1399 options.offer_to_receive_video = 0; | 1398 options.offer_to_receive_video = 0; |
| 1400 callee()->SetOfferAnswerOptions(options); | 1399 callee()->SetOfferAnswerOptions(options); |
| 1401 // Do offer/answer and make sure audio is still received end-to-end. | 1400 // Do offer/answer and make sure audio is still received end-to-end. |
| 1402 caller()->CreateAndSetAndSignalOffer(); | 1401 caller()->CreateAndSetAndSignalOffer(); |
| 1403 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); | 1402 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 1404 ExpectNewFramesReceivedWithWait(kDefaultExpectedAudioFrameCount, 0, | 1403 ExpectNewFramesReceivedWithWait(kDefaultExpectedAudioFrameCount, 0, |
| 1405 kDefaultExpectedAudioFrameCount, 0, | 1404 kDefaultExpectedAudioFrameCount, 0, |
| 1406 kMaxWaitForFramesMs); | 1405 kMaxWaitForFramesMs); |
| 1407 // Sanity check that the callee's description has a rejected video section. | 1406 // Sanity check that the callee's description has a rejected video section. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1418 callee()->SetOfferAnswerOptions(options); | 1417 callee()->SetOfferAnswerOptions(options); |
| 1419 callee()->CreateAndSetAndSignalOffer(); | 1418 callee()->CreateAndSetAndSignalOffer(); |
| 1420 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); | 1419 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 1421 // Expect additional audio frames to be received after the upgrade. | 1420 // Expect additional audio frames to be received after the upgrade. |
| 1422 ExpectNewFramesReceivedWithWait( | 1421 ExpectNewFramesReceivedWithWait( |
| 1423 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, | 1422 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, |
| 1424 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, | 1423 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, |
| 1425 kMaxWaitForFramesMs); | 1424 kMaxWaitForFramesMs); |
| 1426 } | 1425 } |
| 1427 | 1426 |
| 1427 // Simpler than the above test; just add an audio track to an established |
| 1428 // video-only connection. |
| 1429 TEST_F(PeerConnectionIntegrationTest, AddAudioToVideoOnlyCall) { |
| 1430 ASSERT_TRUE(CreatePeerConnectionWrappers()); |
| 1431 ConnectFakeSignaling(); |
| 1432 // Do initial offer/answer with just a video track. |
| 1433 caller()->AddVideoOnlyMediaStream(); |
| 1434 callee()->AddVideoOnlyMediaStream(); |
| 1435 caller()->CreateAndSetAndSignalOffer(); |
| 1436 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 1437 // Now add an audio track and do another offer/answer. |
| 1438 caller()->AddMediaStreamFromTracksWithLabel(caller()->CreateLocalAudioTrack(), |
| 1439 nullptr, "audio_stream"); |
| 1440 callee()->AddMediaStreamFromTracksWithLabel(callee()->CreateLocalAudioTrack(), |
| 1441 nullptr, "audio_stream"); |
| 1442 caller()->CreateAndSetAndSignalOffer(); |
| 1443 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 1444 // Ensure both audio and video frames are received end-to-end. |
| 1445 ExpectNewFramesReceivedWithWait( |
| 1446 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, |
| 1447 kDefaultExpectedAudioFrameCount, kDefaultExpectedVideoFrameCount, |
| 1448 kMaxWaitForFramesMs); |
| 1449 } |
| 1450 |
| 1428 // This test sets up a call that's transferred to a new caller with a different | 1451 // This test sets up a call that's transferred to a new caller with a different |
| 1429 // DTLS fingerprint. | 1452 // DTLS fingerprint. |
| 1430 TEST_F(PeerConnectionIntegrationTest, CallTransferredForCallee) { | 1453 TEST_F(PeerConnectionIntegrationTest, CallTransferredForCallee) { |
| 1431 ASSERT_TRUE(CreatePeerConnectionWrappers()); | 1454 ASSERT_TRUE(CreatePeerConnectionWrappers()); |
| 1432 ConnectFakeSignaling(); | 1455 ConnectFakeSignaling(); |
| 1433 caller()->AddAudioVideoMediaStream(); | 1456 caller()->AddAudioVideoMediaStream(); |
| 1434 callee()->AddAudioVideoMediaStream(); | 1457 callee()->AddAudioVideoMediaStream(); |
| 1435 caller()->CreateAndSetAndSignalOffer(); | 1458 caller()->CreateAndSetAndSignalOffer(); |
| 1436 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); | 1459 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 1437 | 1460 |
| (...skipping 1532 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2970 caller()->CreateAndSetAndSignalOffer(); | 2993 caller()->CreateAndSetAndSignalOffer(); |
| 2971 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); | 2994 ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout); |
| 2972 // Wait for additional audio frames to be received by the callee. | 2995 // Wait for additional audio frames to be received by the callee. |
| 2973 ExpectNewFramesReceivedWithWait(0, 0, kDefaultExpectedAudioFrameCount, 0, | 2996 ExpectNewFramesReceivedWithWait(0, 0, kDefaultExpectedAudioFrameCount, 0, |
| 2974 kMaxWaitForFramesMs); | 2997 kMaxWaitForFramesMs); |
| 2975 } | 2998 } |
| 2976 | 2999 |
| 2977 } // namespace | 3000 } // namespace |
| 2978 | 3001 |
| 2979 #endif // if !defined(THREAD_SANITIZER) | 3002 #endif // if !defined(THREAD_SANITIZER) |
| OLD | NEW |