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 3753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3764 const cricket::ContentInfo* audio_content = | 3764 const cricket::ContentInfo* audio_content = |
3765 GetFirstAudioContent(answer->description()); | 3765 GetFirstAudioContent(answer->description()); |
3766 const cricket::ContentInfo* video_content = | 3766 const cricket::ContentInfo* video_content = |
3767 GetFirstVideoContent(answer->description()); | 3767 GetFirstVideoContent(answer->description()); |
3768 ASSERT_NE(nullptr, audio_content); | 3768 ASSERT_NE(nullptr, audio_content); |
3769 ASSERT_NE(nullptr, video_content); | 3769 ASSERT_NE(nullptr, video_content); |
3770 EXPECT_TRUE(audio_content->rejected); | 3770 EXPECT_TRUE(audio_content->rejected); |
3771 EXPECT_TRUE(video_content->rejected); | 3771 EXPECT_TRUE(video_content->rejected); |
3772 } | 3772 } |
3773 | 3773 |
| 3774 // This test ensures OnRenegotiationNeeded is called when we add track with |
| 3775 // MediaStream -> AddTrack in the same way it is called when we add track with |
| 3776 // PeerConnection -> AddTrack. |
| 3777 // The test can be removed once addStream is rewritten in terms of addTrack |
| 3778 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815 |
| 3779 TEST_F(PeerConnectionInterfaceTest, MediaStreamAddTrackRemoveTrackRenegotiate) { |
| 3780 CreatePeerConnectionWithoutDtls(); |
| 3781 rtc::scoped_refptr<MediaStreamInterface> stream( |
| 3782 pc_factory_->CreateLocalMediaStream(kStreamLabel1)); |
| 3783 pc_->AddStream(stream); |
| 3784 rtc::scoped_refptr<AudioTrackInterface> audio_track( |
| 3785 pc_factory_->CreateAudioTrack("audio_track", nullptr)); |
| 3786 rtc::scoped_refptr<VideoTrackInterface> video_track( |
| 3787 pc_factory_->CreateVideoTrack( |
| 3788 "video_track", pc_factory_->CreateVideoSource( |
| 3789 std::unique_ptr<cricket::VideoCapturer>( |
| 3790 new cricket::FakeVideoCapturer())))); |
| 3791 stream->AddTrack(audio_track); |
| 3792 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
| 3793 observer_.renegotiation_needed_ = false; |
| 3794 |
| 3795 stream->AddTrack(video_track); |
| 3796 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
| 3797 observer_.renegotiation_needed_ = false; |
| 3798 |
| 3799 stream->RemoveTrack(audio_track); |
| 3800 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
| 3801 observer_.renegotiation_needed_ = false; |
| 3802 |
| 3803 stream->RemoveTrack(video_track); |
| 3804 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
| 3805 observer_.renegotiation_needed_ = false; |
| 3806 } |
| 3807 |
| 3808 // Tests that creating answer would fail gracefully without being crashed if the |
| 3809 // remote description is unset. |
| 3810 TEST_F(PeerConnectionInterfaceTest, CreateAnswerWithoutRemoteDescription) { |
| 3811 CreatePeerConnection(); |
| 3812 // Creating answer fails because the remote description is unset. |
| 3813 std::unique_ptr<SessionDescriptionInterface> answer; |
| 3814 EXPECT_FALSE(DoCreateAnswer(&answer, nullptr)); |
| 3815 |
| 3816 // Createing answer succeeds when the remote description is set. |
| 3817 CreateOfferAsRemoteDescription(); |
| 3818 EXPECT_TRUE(DoCreateAnswer(&answer, nullptr)); |
| 3819 } |
| 3820 |
3774 class PeerConnectionMediaConfigTest : public testing::Test { | 3821 class PeerConnectionMediaConfigTest : public testing::Test { |
3775 protected: | 3822 protected: |
3776 void SetUp() override { | 3823 void SetUp() override { |
3777 pcf_ = PeerConnectionFactoryForTest::CreatePeerConnectionFactoryForTest(); | 3824 pcf_ = PeerConnectionFactoryForTest::CreatePeerConnectionFactoryForTest(); |
3778 pcf_->Initialize(); | 3825 pcf_->Initialize(); |
3779 } | 3826 } |
3780 const cricket::MediaConfig TestCreatePeerConnection( | 3827 const cricket::MediaConfig TestCreatePeerConnection( |
3781 const PeerConnectionInterface::RTCConfiguration& config, | 3828 const PeerConnectionInterface::RTCConfiguration& config, |
3782 const MediaConstraintsInterface* constraints) { | 3829 const MediaConstraintsInterface* constraints) { |
3783 rtc::scoped_refptr<PeerConnectionInterface> pc(pcf_->CreatePeerConnection( | 3830 rtc::scoped_refptr<PeerConnectionInterface> pc(pcf_->CreatePeerConnection( |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3884 EXPECT_NE(a, f); | 3931 EXPECT_NE(a, f); |
3885 | 3932 |
3886 PeerConnectionInterface::RTCConfiguration g; | 3933 PeerConnectionInterface::RTCConfiguration g; |
3887 g.disable_ipv6 = true; | 3934 g.disable_ipv6 = true; |
3888 EXPECT_NE(a, g); | 3935 EXPECT_NE(a, g); |
3889 | 3936 |
3890 PeerConnectionInterface::RTCConfiguration h( | 3937 PeerConnectionInterface::RTCConfiguration h( |
3891 PeerConnectionInterface::RTCConfigurationType::kAggressive); | 3938 PeerConnectionInterface::RTCConfigurationType::kAggressive); |
3892 EXPECT_NE(a, h); | 3939 EXPECT_NE(a, h); |
3893 } | 3940 } |
3894 | |
3895 // This test ensures OnRenegotiationNeeded is called when we add track with | |
3896 // MediaStream -> AddTrack in the same way it is called when we add track with | |
3897 // PeerConnection -> AddTrack. | |
3898 // The test can be removed once addStream is rewritten in terms of addTrack | |
3899 // https://bugs.chromium.org/p/webrtc/issues/detail?id=7815 | |
3900 TEST_F(PeerConnectionInterfaceTest, MediaStreamAddTrackRemoveTrackRenegotiate) { | |
3901 CreatePeerConnectionWithoutDtls(); | |
3902 rtc::scoped_refptr<MediaStreamInterface> stream( | |
3903 pc_factory_->CreateLocalMediaStream(kStreamLabel1)); | |
3904 pc_->AddStream(stream); | |
3905 rtc::scoped_refptr<AudioTrackInterface> audio_track( | |
3906 pc_factory_->CreateAudioTrack("audio_track", nullptr)); | |
3907 rtc::scoped_refptr<VideoTrackInterface> video_track( | |
3908 pc_factory_->CreateVideoTrack( | |
3909 "video_track", pc_factory_->CreateVideoSource( | |
3910 std::unique_ptr<cricket::VideoCapturer>( | |
3911 new cricket::FakeVideoCapturer())))); | |
3912 stream->AddTrack(audio_track); | |
3913 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); | |
3914 observer_.renegotiation_needed_ = false; | |
3915 | |
3916 stream->AddTrack(video_track); | |
3917 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); | |
3918 observer_.renegotiation_needed_ = false; | |
3919 | |
3920 stream->RemoveTrack(audio_track); | |
3921 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); | |
3922 observer_.renegotiation_needed_ = false; | |
3923 | |
3924 stream->RemoveTrack(video_track); | |
3925 EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); | |
3926 observer_.renegotiation_needed_ = false; | |
3927 } | |
OLD | NEW |