Add a test for transceivers being removed when stopped.

Bug: chromium:980879
Change-Id: Icd6b83b4c0ddf5bd3a6121238ec3b34864b64b6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/185961
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32260}
This commit is contained in:
Harald Alvestrand
2020-09-30 06:55:23 +00:00
committed by Commit Bot
parent 80907be915
commit 45be0a9810

View File

@ -5603,6 +5603,33 @@ TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
PeerConnectionInterface::kIceGatheringNew));
}
TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
StopTransceiverStopsAndRemovesTransceivers) {
RTCConfiguration config;
ASSERT_TRUE(CreatePeerConnectionWrappersWithConfig(config, config));
ConnectFakeSignaling();
auto audio_transceiver_or_error =
caller()->pc()->AddTransceiver(caller()->CreateLocalAudioTrack());
ASSERT_TRUE(audio_transceiver_or_error.ok());
auto caller_transceiver = audio_transceiver_or_error.MoveValue();
caller()->CreateAndSetAndSignalOffer();
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
caller_transceiver->StopStandard();
auto callee_transceiver = callee()->pc()->GetTransceivers()[0];
caller()->CreateAndSetAndSignalOffer();
ASSERT_TRUE_WAIT(SignalingStateStable(), kDefaultTimeout);
EXPECT_EQ(0U, caller()->pc()->GetTransceivers().size());
EXPECT_EQ(0U, callee()->pc()->GetTransceivers().size());
EXPECT_EQ(0U, caller()->pc()->GetSenders().size());
EXPECT_EQ(0U, callee()->pc()->GetSenders().size());
EXPECT_EQ(0U, caller()->pc()->GetReceivers().size());
EXPECT_EQ(0U, callee()->pc()->GetReceivers().size());
EXPECT_TRUE(caller_transceiver->stopped());
EXPECT_TRUE(callee_transceiver->stopped());
}
TEST_F(PeerConnectionIntegrationTestUnifiedPlan,
StopTransceiverEndsIncomingAudioTrack) {
RTCConfiguration config;