| Index: webrtc/media/engine/webrtcvoiceengine_unittest.cc
|
| diff --git a/webrtc/media/engine/webrtcvoiceengine_unittest.cc b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
|
| index 674924eda855b0bed233ef0768421a3c259d483d..43142ea367b32a49875ec7966eaae6d5d46f495d 100644
|
| --- a/webrtc/media/engine/webrtcvoiceengine_unittest.cc
|
| +++ b/webrtc/media/engine/webrtcvoiceengine_unittest.cc
|
| @@ -356,6 +356,29 @@ class WebRtcVoiceEngineTestFake : public testing::Test {
|
| EXPECT_EQ(expected_codec_bitrate, GetCodecBitrate(kSsrc1));
|
| }
|
|
|
| + void SetSendCodecsShouldWorkForBitrates(const char* min_bitrate_kbps,
|
| + int expected_min_bitrate_bps,
|
| + const char* start_bitrate_kbps,
|
| + int expected_start_bitrate_bps,
|
| + const char* max_bitrate_kbps,
|
| + int expected_max_bitrate_bps) {
|
| + EXPECT_TRUE(SetupSendStream());
|
| + auto& codecs = send_parameters_.codecs;
|
| + codecs.clear();
|
| + codecs.push_back(kOpusCodec);
|
| + codecs[0].params[cricket::kCodecParamMinBitrate] = min_bitrate_kbps;
|
| + codecs[0].params[cricket::kCodecParamStartBitrate] = start_bitrate_kbps;
|
| + codecs[0].params[cricket::kCodecParamMaxBitrate] = max_bitrate_kbps;
|
| + SetSendParameters(send_parameters_);
|
| +
|
| + EXPECT_EQ(expected_min_bitrate_bps,
|
| + call_.GetConfig().bitrate_config.min_bitrate_bps);
|
| + EXPECT_EQ(expected_start_bitrate_bps,
|
| + call_.GetConfig().bitrate_config.start_bitrate_bps);
|
| + EXPECT_EQ(expected_max_bitrate_bps,
|
| + call_.GetConfig().bitrate_config.max_bitrate_bps);
|
| + }
|
| +
|
| void TestSetSendRtpHeaderExtensions(const std::string& ext) {
|
| EXPECT_TRUE(SetupSendStream());
|
|
|
| @@ -1402,6 +1425,37 @@ TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecOpusMaxAverageBitrate) {
|
| EXPECT_EQ(200000, GetCodecBitrate(kSsrc1));
|
| }
|
|
|
| +TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsWithBitrates) {
|
| + SetSendCodecsShouldWorkForBitrates("100", 100000, "150", 150000, "200",
|
| + 200000);
|
| +}
|
| +
|
| +TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsWithHighMaxBitrate) {
|
| + SetSendCodecsShouldWorkForBitrates("", 0, "", -1, "10000", 10000000);
|
| +}
|
| +
|
| +TEST_F(WebRtcVoiceEngineTestFake,
|
| + SetSendCodecsWithoutBitratesUsesCorrectDefaults) {
|
| + SetSendCodecsShouldWorkForBitrates("", 0, "", -1, "", -1);
|
| +}
|
| +
|
| +TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecsCapsMinAndStartBitrate) {
|
| + SetSendCodecsShouldWorkForBitrates("-1", 0, "-100", -1, "", -1);
|
| +}
|
| +
|
| +TEST_F(WebRtcVoiceEngineTestFake,
|
| + SetMaxSendBandwidthShouldPreserveOtherBitrates) {
|
| + SetSendCodecsShouldWorkForBitrates("100", 100000, "150", 150000, "200",
|
| + 200000);
|
| + send_parameters_.max_bandwidth_bps = 300000;
|
| + SetSendParameters(send_parameters_);
|
| + EXPECT_EQ(100000, call_.GetConfig().bitrate_config.min_bitrate_bps)
|
| + << "Setting max bitrate should keep previous min bitrate.";
|
| + EXPECT_EQ(-1, call_.GetConfig().bitrate_config.start_bitrate_bps)
|
| + << "Setting max bitrate should not reset start bitrate.";
|
| + EXPECT_EQ(300000, call_.GetConfig().bitrate_config.max_bitrate_bps);
|
| +}
|
| +
|
| // Test that we can enable NACK with opus as caller.
|
| TEST_F(WebRtcVoiceEngineTestFake, SetSendCodecEnableNackAsCaller) {
|
| EXPECT_TRUE(SetupSendStream());
|
|
|