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

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

Issue 2397573006: Using AudioOption to enable audio network adaptor. (Closed)
Patch Set: on comments Created 4 years, 2 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
Index: webrtc/media/engine/webrtcvoiceengine_unittest.cc
diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
index aa041dda3785cf43eaedbd86a40dd22a58894132..6788a2c07b0fe2ed60d3fa736803074a4db06c13 100644
--- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
+++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
@@ -320,6 +320,10 @@ class WebRtcVoiceEngineTestFake : public testing::Test {
return GetSendStreamConfig(ssrc).send_codec_spec.codec_inst.pacsize;
}
+ const rtc::Optional<std::string>& GetAudioNetworkAdaptorConfig(int32_t ssrc) {
+ return GetSendStreamConfig(ssrc).audio_network_adaptor_config;
+ }
+
void SetAndExpectMaxBitrate(const cricket::AudioCodec& codec,
int global_max,
int stream_max,
@@ -2367,6 +2371,53 @@ TEST_F(WebRtcVoiceEngineTestFake, SampleRatesViaOptions) {
SetSendParameters(send_parameters_);
}
+TEST_F(WebRtcVoiceEngineTestFake, SetAudioNetworkAdaptorViaOptions) {
+ EXPECT_TRUE(SetupSendStream());
+ send_parameters_.options.audio_network_adaptor = rtc::Optional<bool>(true);
+ send_parameters_.options.audio_network_adaptor_config =
+ rtc::Optional<std::string>("1234");
+ EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
the sun 2016/10/28 18:21:52 You may need to use the test utility "SetSendParam
minyue-webrtc 2016/10/28 18:41:57 I see, SetSendParameters is recently added. Will d
+ EXPECT_EQ(send_parameters_.options.audio_network_adaptor_config,
+ GetAudioNetworkAdaptorConfig(kSsrc1));
+}
+
+TEST_F(WebRtcVoiceEngineTestFake, AudioSendResetAudioNetworkAdaptor) {
+ EXPECT_TRUE(SetupSendStream());
+ send_parameters_.options.audio_network_adaptor = rtc::Optional<bool>(true);
+ send_parameters_.options.audio_network_adaptor_config =
+ rtc::Optional<std::string>("1234");
+ EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
+ EXPECT_EQ(send_parameters_.options.audio_network_adaptor_config,
+ GetAudioNetworkAdaptorConfig(kSsrc1));
+ const int initial_num = call_.GetNumCreatedSendStreams();
+ cricket::AudioOptions options;
+ options.audio_network_adaptor = rtc::Optional<bool>(false);
+ EXPECT_TRUE(channel_->SetAudioSend(kSsrc1, true, &options, nullptr));
the sun 2016/10/28 18:21:52 There's a utility for SetAudioSend as well
minyue-webrtc 2016/10/28 18:41:57 will do
+ // AudioSendStream expected to be recreated.
+ EXPECT_EQ(initial_num + 1, call_.GetNumCreatedSendStreams());
+ EXPECT_EQ(rtc::Optional<std::string>(), GetAudioNetworkAdaptorConfig(kSsrc1));
+}
+
+TEST_F(WebRtcVoiceEngineTestFake, AudioNetworkAdaptorNotGetOverridden) {
+ EXPECT_TRUE(SetupSendStream());
+ send_parameters_.options.audio_network_adaptor = rtc::Optional<bool>(true);
+ send_parameters_.options.audio_network_adaptor_config =
+ rtc::Optional<std::string>("1234");
+ EXPECT_TRUE(channel_->SetSendParameters(send_parameters_));
+ EXPECT_EQ(send_parameters_.options.audio_network_adaptor_config,
+ GetAudioNetworkAdaptorConfig(kSsrc1));
+ const int initial_num = call_.GetNumCreatedSendStreams();
+ cricket::AudioOptions options;
+ options.audio_network_adaptor = rtc::Optional<bool>();
+ // Unvalued |options.audio_network_adaptor|.should not reset audio network
+ // adaptor.
+ EXPECT_TRUE(channel_->SetAudioSend(kSsrc1, true, &options, nullptr));
+ // AudioSendStream not expected to be recreated.
+ EXPECT_EQ(initial_num, call_.GetNumCreatedSendStreams());
+ EXPECT_EQ(send_parameters_.options.audio_network_adaptor_config,
+ GetAudioNetworkAdaptorConfig(kSsrc1));
+}
+
// Test that we can set the outgoing SSRC properly.
// SSRC is set in SetupSendStream() by calling AddSendStream.
TEST_F(WebRtcVoiceEngineTestFake, SetSendSsrc) {

Powered by Google App Engine
This is Rietveld 408576698