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) { |