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 2d41ecd43b513a4c620bd1c41ea9bd4dfd0bb55e..d665253fda3f3e4a3da58e79ae9f02a687481e37 100644 |
| --- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
| +++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc |
| @@ -1212,6 +1212,59 @@ TEST_F(WebRtcVoiceEngineTestFake, SetAndGetRtpSendParameters) { |
| EXPECT_EQ(initial_params, channel_->GetRtpSendParameters(kSsrcX)); |
| } |
| +// Test that max_bitrate_bps in send stream config gets updated correctly when |
| +// SetRtpSendParameters is called. |
| +TEST_F(WebRtcVoiceEngineTestFake, SetRtpSendParameterUpdatesMaxBitrate) { |
| + webrtc::test::ScopedFieldTrials override_field_trials( |
| + "WebRTC-Audio-SendSideBwe/Enabled/"); |
| + EXPECT_TRUE(SetupSendStream()); |
| + cricket::AudioSendParameters send_parameters; |
| + send_parameters.codecs.push_back(kOpusCodec); |
| + SetSendParameters(send_parameters); |
| + |
| + webrtc::RtpParameters rtp_parameters = channel_->GetRtpSendParameters(kSsrcX); |
| + // Expect empty on parameters.encodings[0].max_bitrate_bps; |
| + EXPECT_FALSE(rtp_parameters.encodings[0].max_bitrate_bps); |
| + |
| + constexpr int kMaxBitrateBps = 6000; |
| + rtp_parameters.encodings[0].max_bitrate_bps = |
| + rtc::Optional<int>(kMaxBitrateBps); |
| + EXPECT_TRUE(channel_->SetRtpSendParameters(kSsrcX, rtp_parameters)); |
| + |
| + const int max_bitrate = GetSendStreamConfig(kSsrcX).max_bitrate_bps; |
| + EXPECT_EQ(max_bitrate, kMaxBitrateBps); |
| +} |
| + |
| +// This test is similar to SetRtpSendParameterUpdatesMaxBitrate but with an |
| +// additional field trial. |
| +TEST_F(WebRtcVoiceEngineTestFake, |
|
minyue-webrtc
2017/03/27 19:35:25
found a better place for this test, see PS6.
|
| + SetRtpSendParameterUpdatesMaxBitrateWithOverhead) { |
| + webrtc::test::ScopedFieldTrials override_field_trials( |
| + "WebRTC-Audio-SendSideBwe/Enabled/" |
| + "WebRTC-SendSideBwe-WithOverhead/Enabled/"); |
| + EXPECT_TRUE(SetupSendStream()); |
| + cricket::AudioSendParameters send_parameters; |
| + send_parameters.codecs.push_back(kOpusCodec); |
| + SetSendParameters(send_parameters); |
| + |
| + webrtc::RtpParameters rtp_parameters = channel_->GetRtpSendParameters(kSsrcX); |
| + // Expect empty on parameters.encodings[0].max_bitrate_bps; |
| + EXPECT_FALSE(rtp_parameters.encodings[0].max_bitrate_bps); |
| + |
| + constexpr int kMaxBitrateBps = 6000; |
| + rtp_parameters.encodings[0].max_bitrate_bps = |
| + rtc::Optional<int>(kMaxBitrateBps); |
| + EXPECT_TRUE(channel_->SetRtpSendParameters(kSsrcX, rtp_parameters)); |
| + |
| + const int max_bitrate = GetSendStreamConfig(kSsrcX).max_bitrate_bps; |
| +#if WEBRTC_OPUS_SUPPORT_120MS_PTIME |
| + constexpr int kMinOverhead = 3333; |
| +#else |
| + constexpr int kMinOverhead = 6666; |
| +#endif |
| + EXPECT_EQ(max_bitrate, kMaxBitrateBps + kMinOverhead); |
| +} |
| + |
| // Test that GetRtpReceiveParameters returns the currently configured codecs. |
| TEST_F(WebRtcVoiceEngineTestFake, GetRtpReceiveParametersCodecs) { |
| EXPECT_TRUE(SetupRecvStream()); |