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

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

Issue 1181653002: Base A/V synchronization on sync_labels. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 5 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 | « talk/media/webrtc/webrtcvoiceengine.cc ('k') | webrtc/audio_receive_stream.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: talk/media/webrtc/webrtcvoiceengine_unittest.cc
diff --git a/talk/media/webrtc/webrtcvoiceengine_unittest.cc b/talk/media/webrtc/webrtcvoiceengine_unittest.cc
index 0dc7b510eea7d6eaa62c9deee2f35a8d313b514a..77f437c60a615746a2be74789bec0322795915a9 100644
--- a/talk/media/webrtc/webrtcvoiceengine_unittest.cc
+++ b/talk/media/webrtc/webrtcvoiceengine_unittest.cc
@@ -3353,6 +3353,34 @@ TEST(WebRtcVoiceEngineTest, CoInitialize) {
}
#endif
+TEST_F(WebRtcVoiceEngineTestFake, SetsSyncGroupFromSyncLabel) {
+ cricket::FakeCall call(webrtc::Call::Config(nullptr));
+ const uint32 kAudioSsrc = 123;
+ const std::string kSyncLabel = "AvSyncLabel";
+
+ EXPECT_TRUE(SetupEngine());
+ cricket::WebRtcVoiceMediaChannel* media_channel =
+ static_cast<cricket::WebRtcVoiceMediaChannel*>(channel_);
+ media_channel->SetCall(&call);
+ cricket::StreamParams sp = cricket::StreamParams::CreateLegacy(kAudioSsrc);
+ sp.sync_label = kSyncLabel;
+ // Creating two channels to make sure that sync label is set properly for both
+ // the default voice channel and following ones.
+ EXPECT_TRUE(channel_->AddRecvStream(sp));
+ sp.ssrcs[0] += 1;
+ EXPECT_TRUE(channel_->AddRecvStream(sp));
+
+ ASSERT_EQ(2, call.GetAudioReceiveStreams().size());
+ EXPECT_EQ(kSyncLabel,
+ call.GetAudioReceiveStream(kAudioSsrc)->GetConfig().sync_group)
+ << "SyncGroup should be set based on sync_label";
+ EXPECT_EQ(kSyncLabel,
+ call.GetAudioReceiveStream(kAudioSsrc + 1)->GetConfig().sync_group)
+ << "SyncGroup should be set based on sync_label";
+
+ media_channel->SetCall(nullptr);
+}
+
TEST_F(WebRtcVoiceEngineTestFake, ChangeCombinedBweOption_Call) {
// Test that changing the combined_audio_video_bwe option results in the
// expected state changes on an associated Call.
@@ -3363,27 +3391,45 @@ TEST_F(WebRtcVoiceEngineTestFake, ChangeCombinedBweOption_Call) {
EXPECT_TRUE(SetupEngine());
cricket::WebRtcVoiceMediaChannel* media_channel =
static_cast<cricket::WebRtcVoiceMediaChannel*>(channel_);
+ const auto& rtp_extensions = engine_.rtp_header_extensions();
+ media_channel->SetRecvRtpHeaderExtensions(rtp_extensions);
media_channel->SetCall(&call);
EXPECT_TRUE(media_channel->AddRecvStream(
cricket::StreamParams::CreateLegacy(kAudioSsrc1)));
EXPECT_TRUE(media_channel->AddRecvStream(
cricket::StreamParams::CreateLegacy(kAudioSsrc2)));
- // Combined BWE should not be set up yet.
- EXPECT_EQ(0, call.GetAudioReceiveStreams().size());
+ // Combined BWE should not be set up yet (no RTP extensions).
+ EXPECT_EQ(2, call.GetAudioReceiveStreams().size());
+ EXPECT_TRUE(call.GetAudioReceiveStream(kAudioSsrc1)
+ ->GetConfig()
+ .rtp.extensions.empty());
+ EXPECT_TRUE(call.GetAudioReceiveStream(kAudioSsrc2)
+ ->GetConfig()
+ .rtp.extensions.empty());
// Enable combined BWE option - now it should be set up.
cricket::AudioOptions options;
options.combined_audio_video_bwe.Set(true);
EXPECT_TRUE(media_channel->SetOptions(options));
EXPECT_EQ(2, call.GetAudioReceiveStreams().size());
- EXPECT_NE(nullptr, call.GetAudioReceiveStream(kAudioSsrc1));
- EXPECT_NE(nullptr, call.GetAudioReceiveStream(kAudioSsrc2));
+ EXPECT_FALSE(call.GetAudioReceiveStream(kAudioSsrc1)
+ ->GetConfig()
+ .rtp.extensions.empty());
+ EXPECT_FALSE(call.GetAudioReceiveStream(kAudioSsrc2)
+ ->GetConfig()
+ .rtp.extensions.empty());
// Disable combined BWE option - should be disabled again.
options.combined_audio_video_bwe.Set(false);
EXPECT_TRUE(media_channel->SetOptions(options));
- EXPECT_EQ(0, call.GetAudioReceiveStreams().size());
+ EXPECT_EQ(2, call.GetAudioReceiveStreams().size());
+ EXPECT_TRUE(call.GetAudioReceiveStream(kAudioSsrc1)
+ ->GetConfig()
+ .rtp.extensions.empty());
+ EXPECT_TRUE(call.GetAudioReceiveStream(kAudioSsrc2)
+ ->GetConfig()
+ .rtp.extensions.empty());
media_channel->SetCall(nullptr);
}
@@ -3620,4 +3666,3 @@ TEST_F(WebRtcVoiceEngineTestFake, AssociateChannelResetUponDeleteChannnel) {
EXPECT_TRUE(channel_->RemoveSendStream(2));
EXPECT_EQ(voe_.GetAssociateSendChannel(recv_ch), -1);
}
-
« no previous file with comments | « talk/media/webrtc/webrtcvoiceengine.cc ('k') | webrtc/audio_receive_stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698