| Index: webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
|
| diff --git a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
|
| index 9f2c3186bdf2085d0a69bbdcf643d84c5752669e..e8bfaf6830cca7dff72f7ef749b9b46ad8173634 100644
|
| --- a/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
|
| +++ b/webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc
|
| @@ -421,4 +421,26 @@ TEST(AudioEncoderOpusTest, BitrateBounded) {
|
| EXPECT_EQ(kMaxBitrateBps, states.encoder->GetTargetBitrate());
|
| }
|
|
|
| +// Verifies that the complexity adaptation in the config works as intended.
|
| +TEST(AudioEncoderOpusTest, ConfigComplexityAdaptation) {
|
| + AudioEncoderOpus::Config config;
|
| + config.low_rate_complexity = 8;
|
| + config.complexity = 6;
|
| +
|
| + // Bitrate within hysteresis window. Expect empty output.
|
| + config.bitrate_bps = rtc::Optional<int>(12500);
|
| + EXPECT_EQ(rtc::Optional<int>(), config.GetNewComplexity());
|
| +
|
| + // Bitrate below hysteresis window. Expect higher complexity.
|
| + config.bitrate_bps = rtc::Optional<int>(10999);
|
| + EXPECT_EQ(rtc::Optional<int>(8), config.GetNewComplexity());
|
| +
|
| + // Bitrate within hysteresis window. Expect empty output.
|
| + config.bitrate_bps = rtc::Optional<int>(12500);
|
| + EXPECT_EQ(rtc::Optional<int>(), config.GetNewComplexity());
|
| +
|
| + // Bitrate above hysteresis window. Expect lower complexity.
|
| + config.bitrate_bps = rtc::Optional<int>(14001);
|
| + EXPECT_EQ(rtc::Optional<int>(6), config.GetNewComplexity());
|
| +}
|
| } // namespace webrtc
|
|
|