Chromium Code Reviews| 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 6a4c47c0e33a189bcb910a5290dfd7facad3905f..170dc7f685c076abc447f4ef6310a754b8056ea9 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 |
| @@ -34,6 +34,7 @@ AudioEncoderOpus::Config CreateConfig(const CodecInst& codec_inst) { |
| config.payload_type = codec_inst.pltype; |
| config.application = config.num_channels == 1 ? AudioEncoderOpus::kVoip |
| : AudioEncoderOpus::kAudio; |
| + config.supported_frame_lengths_ms.push_back(config.frame_size_ms); |
| return config; |
| } |
| @@ -222,9 +223,33 @@ TEST(AudioEncoderOpusTest, PacketLossRateOptimized) { |
| // clang-format on |
| } |
| +namespace { |
| + |
| +void CheckArrayView(const std::vector<int>& expect_values, |
| + const rtc::ArrayView<const int>& array_view) { |
|
kwiberg-webrtc
2016/10/24 11:58:35
Pass ArrayView by value.
|
| + EXPECT_THAT(expect_values, ::testing::ElementsAreArray(array_view.data(), |
| + array_view.size())); |
|
kwiberg-webrtc
2016/10/24 11:58:35
The actual value should be the first argument, and
|
| +} |
| + |
| +} // namespace |
| + |
| +TEST(AudioEncoderOpusTest, SetReceiverFrameLengthRange) { |
| + auto states = CreateCodec(2); |
| + // Before calling to |SetReceiverFrameLengthRange|, |
| + // |supported_frame_lengths_ms| should contain only the frame length being |
| + // used. |
| + CheckArrayView({states.encoder->next_frame_length_ms()}, |
| + states.encoder->supported_frame_lengths_ms()); |
|
kwiberg-webrtc
2016/10/24 11:58:35
I don't think you need the separate function:
EXP
|
| + states.encoder->SetReceiverFrameLengthRange(0, 12345); |
| + CheckArrayView({20, 60}, states.encoder->supported_frame_lengths_ms()); |
|
kwiberg-webrtc
2016/10/24 11:58:35
EXPECT_THAT(states.encoder->supported_frame_length
|
| + states.encoder->SetReceiverFrameLengthRange(21, 60); |
| + CheckArrayView({60}, states.encoder->supported_frame_lengths_ms()); |
| + states.encoder->SetReceiverFrameLengthRange(20, 59); |
| + CheckArrayView({20}, states.encoder->supported_frame_lengths_ms()); |
| +} |
| + |
| TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnSetUplinkBandwidth) { |
| auto states = CreateCodec(2); |
| - printf("passed!\n"); |
| states.encoder->EnableAudioNetworkAdaptor("", nullptr); |
| auto config = CreateEncoderRuntimeConfig(); |
| @@ -292,24 +317,6 @@ TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnSetRtt) { |
| } |
| TEST(AudioEncoderOpusTest, |
| - InvokeAudioNetworkAdaptorOnSetReceiverFrameLengthRange) { |
| - auto states = CreateCodec(2); |
| - states.encoder->EnableAudioNetworkAdaptor("", nullptr); |
| - |
| - auto config = CreateEncoderRuntimeConfig(); |
| - EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig()) |
| - .WillOnce(Return(config)); |
| - |
| - constexpr int kMinFrameLength = 10; |
| - constexpr int kMaxFrameLength = 60; |
| - EXPECT_CALL(**states.mock_audio_network_adaptor, |
| - SetReceiverFrameLengthRange(kMinFrameLength, kMaxFrameLength)); |
| - states.encoder->SetReceiverFrameLengthRange(kMinFrameLength, kMaxFrameLength); |
| - |
| - CheckEncoderRuntimeConfig(states.encoder.get(), config); |
| -} |
| - |
| -TEST(AudioEncoderOpusTest, |
| PacketLossFractionSmoothedOnSetUplinkPacketLossFraction) { |
| auto states = CreateCodec(2); |