Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus_unittest.cc

Issue 2429503002: Simplifying audio network adaptor by moving receiver frame length range to ctor. (Closed)
Patch Set: nicer solution Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..54529ad9854d4803bf986c2bfc2ba402cf855990 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
@@ -14,6 +14,7 @@
#include "webrtc/common_types.h"
#include "webrtc/modules/audio_coding/audio_network_adaptor/mock/mock_audio_network_adaptor.h"
#include "webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.h"
+#include "webrtc/test/gmock.h"
#include "webrtc/test/gtest.h"
#include "webrtc/system_wrappers/include/clock.h"
@@ -34,6 +35,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 +224,25 @@ TEST(AudioEncoderOpusTest, PacketLossRateOptimized) {
// clang-format on
}
+TEST(AudioEncoderOpusTest, SetReceiverFrameLengthRange) {
+ auto states = CreateCodec(2);
+ // Before calling to |SetReceiverFrameLengthRange|,
+ // |supported_frame_lengths_ms| should contain only the frame length being
+ // used.
+ using ::testing::ElementsAre;
+ EXPECT_THAT(states.encoder->supported_frame_lengths_ms(),
+ ElementsAre(states.encoder->next_frame_length_ms()));
+ states.encoder->SetReceiverFrameLengthRange(0, 12345);
+ EXPECT_THAT(states.encoder->supported_frame_lengths_ms(),
+ ElementsAre(20, 60));
+ states.encoder->SetReceiverFrameLengthRange(21, 60);
+ EXPECT_THAT(states.encoder->supported_frame_lengths_ms(), ElementsAre(60));
+ states.encoder->SetReceiverFrameLengthRange(20, 59);
+ EXPECT_THAT(states.encoder->supported_frame_lengths_ms(), ElementsAre(20));
+}
+
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnSetUplinkBandwidth) {
auto states = CreateCodec(2);
- printf("passed!\n");
states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
@@ -292,24 +310,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);
« no previous file with comments | « webrtc/modules/audio_coding/codecs/opus/audio_encoder_opus.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698