Index: webrtc/pc/peerconnectioninterface_unittest.cc |
diff --git a/webrtc/pc/peerconnectioninterface_unittest.cc b/webrtc/pc/peerconnectioninterface_unittest.cc |
index c10324a94b7a5772733cd473a939226c074981d2..a0ba9ea25fff16909b0262672d07349ffa1e3a49 100644 |
--- a/webrtc/pc/peerconnectioninterface_unittest.cc |
+++ b/webrtc/pc/peerconnectioninterface_unittest.cc |
@@ -3702,3 +3702,32 @@ TEST(RTCConfigurationTest, ComparisonOperators) { |
PeerConnectionInterface::RTCConfigurationType::kAggressive); |
EXPECT_NE(a, h); |
} |
+ |
Taylor Brandstetter
2017/07/10 21:40:30
nit: Can you add a brief comment explaining this t
korniltsev
2017/07/12 06:51:30
Done.
|
+TEST_F(PeerConnectionInterfaceTest, MediaStreamAddTrackRemoveTrackRenegotiate) { |
+ CreatePeerConnectionWithoutDtls(); |
+ rtc::scoped_refptr<MediaStreamInterface> stream( |
+ pc_factory_->CreateLocalMediaStream(kStreamLabel1)); |
+ pc_->AddStream(stream); |
+ rtc::scoped_refptr<AudioTrackInterface> audio_track( |
+ pc_factory_->CreateAudioTrack("audio_track", nullptr)); |
+ rtc::scoped_refptr<VideoTrackInterface> video_track( |
+ pc_factory_->CreateVideoTrack( |
+ "video_track", pc_factory_->CreateVideoSource( |
+ std::unique_ptr<cricket::VideoCapturer>( |
+ new cricket::FakeVideoCapturer())))); |
+ stream->AddTrack(audio_track); |
+ EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
+ observer_.renegotiation_needed_ = false; |
+ |
+ stream->AddTrack(video_track); |
+ EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
+ observer_.renegotiation_needed_ = false; |
+ |
+ stream->RemoveTrack(audio_track); |
+ EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
+ observer_.renegotiation_needed_ = false; |
+ |
+ stream->RemoveTrack(video_track); |
+ EXPECT_TRUE_WAIT(observer_.renegotiation_needed_, kTimeout); |
+ observer_.renegotiation_needed_ = false; |
+} |