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

Unified Diff: webrtc/media/engine/webrtcvoiceengine_unittest.cc

Issue 1881793006: Fix bug causing audio to stop being sent when AudioSendStreams are recreated. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Better test case Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/webrtcvoiceengine_unittest.cc
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
index f88b99ba103960591bdd6b47406e635abf9fcc65..1ed493b6d0f5918cc1ac74a496e55061974b2f06 100644
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
@@ -2176,6 +2176,31 @@ TEST_F(WebRtcVoiceEngineTestFake, SendStateWithAndWithoutSource) {
EXPECT_FALSE(GetSendStream(kSsrc1).IsSending());
}
+// Test that SetSendParameters() does not alter a stream's send state.
+TEST_F(WebRtcVoiceEngineTestFake, SendStateWhenStreamsAreRecreated) {
+ EXPECT_TRUE(SetupSendStream());
+ EXPECT_FALSE(GetSendStream(kSsrc1).IsSending());
+
+ // Turn on sending.
+ channel_->SetSend(true);
+ EXPECT_TRUE(GetSendStream(kSsrc1).IsSending());
+
+ // Changing RTP header extensions will recreate the AudioSendStream.
+ send_parameters_.extensions.push_back(
+ cricket::RtpHeaderExtension(kRtpAudioLevelHeaderExtension, 12));
+ EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
+ EXPECT_TRUE(GetSendStream(kSsrc1).IsSending());
+
+ // Turn off sending.
+ channel_->SetSend(false);
+ EXPECT_FALSE(GetSendStream(kSsrc1).IsSending());
+
+ // Changing RTP header extensions will recreate the AudioSendStream.
+ send_parameters_.extensions.clear();
+ EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
+ EXPECT_FALSE(GetSendStream(kSsrc1).IsSending());
+}
+
// Test that we can create a channel and start playing out on it.
TEST_F(WebRtcVoiceEngineTestFake, Playout) {
EXPECT_TRUE(SetupRecvStream());
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698