Chromium Code Reviews| 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) { |