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

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

Issue 2782563003: Replace Clock with timeutils in AudioEncoder. (Closed)
Patch Set: Fix for failing unittest. Created 3 years, 8 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
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 55d3c9204b54f39ee206df633760a9e3b765b141..788d799a1191fd12b28cfd8ba7aab89edf4bb20b 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
@@ -23,7 +23,6 @@
#include "webrtc/test/gmock.h"
#include "webrtc/test/gtest.h"
#include "webrtc/test/testsupport/fileutils.h"
-#include "webrtc/system_wrappers/include/clock.h"
namespace webrtc {
using ::testing::NiceMock;
@@ -56,7 +55,7 @@ struct AudioEncoderOpusStates {
std::shared_ptr<MockAudioNetworkAdaptor*> mock_audio_network_adaptor;
MockSmoothingFilter* mock_bitrate_smoother;
std::unique_ptr<AudioEncoderOpus> encoder;
- std::unique_ptr<SimulatedClock> simulated_clock;
+ std::unique_ptr<rtc::ScopedFakeClock> fake_clock;
AudioEncoderOpus::Config config;
};
@@ -64,21 +63,22 @@ AudioEncoderOpusStates CreateCodec(size_t num_channels) {
AudioEncoderOpusStates states;
states.mock_audio_network_adaptor =
std::make_shared<MockAudioNetworkAdaptor*>(nullptr);
-
+ states.fake_clock.reset(new rtc::ScopedFakeClock());
+ states.fake_clock->SetTimeMicros(kInitialTimeUs);
std::weak_ptr<MockAudioNetworkAdaptor*> mock_ptr(
states.mock_audio_network_adaptor);
- AudioEncoderOpus::AudioNetworkAdaptorCreator creator = [mock_ptr](
- const std::string&, RtcEventLog* event_log, const Clock*) {
- std::unique_ptr<MockAudioNetworkAdaptor> adaptor(
- new NiceMock<MockAudioNetworkAdaptor>());
- EXPECT_CALL(*adaptor, Die());
- if (auto sp = mock_ptr.lock()) {
- *sp = adaptor.get();
- } else {
- RTC_NOTREACHED();
- }
- return adaptor;
- };
+ AudioEncoderOpus::AudioNetworkAdaptorCreator creator =
+ [mock_ptr](const std::string&, RtcEventLog* event_log) {
+ std::unique_ptr<MockAudioNetworkAdaptor> adaptor(
+ new NiceMock<MockAudioNetworkAdaptor>());
+ EXPECT_CALL(*adaptor, Die());
+ if (auto sp = mock_ptr.lock()) {
+ *sp = adaptor.get();
+ } else {
+ RTC_NOTREACHED();
+ }
+ return adaptor;
+ };
CodecInst codec_inst = kDefaultOpusSettings;
codec_inst.channels = num_channels;
@@ -86,8 +86,6 @@ AudioEncoderOpusStates CreateCodec(size_t num_channels) {
std::unique_ptr<MockSmoothingFilter> bitrate_smoother(
new MockSmoothingFilter());
states.mock_bitrate_smoother = bitrate_smoother.get();
- states.simulated_clock.reset(new SimulatedClock(kInitialTimeUs));
- states.config.clock = states.simulated_clock.get();
states.encoder.reset(new AudioEncoderOpus(states.config, std::move(creator),
std::move(bitrate_smoother)));
@@ -244,7 +242,8 @@ void TestSetPacketLossRate(AudioEncoderOpusStates* states,
constexpr int64_t kSampleIntervalMs = 184198;
for (float loss : losses) {
states->encoder->OnReceivedUplinkPacketLossFraction(loss);
- states->simulated_clock->AdvanceTimeMilliseconds(kSampleIntervalMs);
+ states->fake_clock->AdvanceTime(
+ rtc::TimeDelta::FromMilliseconds(kSampleIntervalMs));
EXPECT_FLOAT_EQ(expected_return, states->encoder->packet_loss_rate());
}
}
@@ -291,7 +290,7 @@ TEST(AudioEncoderOpusTest, SetReceiverFrameLengthRange) {
TEST(AudioEncoderOpusTest,
InvokeAudioNetworkAdaptorOnReceivedUplinkPacketLossFraction) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -308,7 +307,7 @@ TEST(AudioEncoderOpusTest,
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -330,7 +329,7 @@ TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedUplinkBandwidth) {
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedRtt) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -346,7 +345,7 @@ TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedRtt) {
TEST(AudioEncoderOpusTest, InvokeAudioNetworkAdaptorOnReceivedOverhead) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
EXPECT_CALL(**states.mock_audio_network_adaptor, GetEncoderRuntimeConfig())
@@ -376,7 +375,8 @@ TEST(AudioEncoderOpusTest,
states.encoder->OnReceivedUplinkPacketLossFraction(kPacketLossFraction_1);
EXPECT_FLOAT_EQ(0.01f, states.encoder->packet_loss_rate());
- states.simulated_clock->AdvanceTimeMilliseconds(kSecondSampleTimeMs);
+ states.fake_clock->AdvanceTime(
+ rtc::TimeDelta::FromMilliseconds(kSecondSampleTimeMs));
states.encoder->OnReceivedUplinkPacketLossFraction(kPacketLossFraction_2);
// Now the output of packet loss fraction smoother should be
@@ -475,7 +475,7 @@ TEST(AudioEncoderOpusTest, ConfigComplexityAdaptation) {
TEST(AudioEncoderOpusTest, EmptyConfigDoesNotAffectEncoderSettings) {
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
auto config = CreateEncoderRuntimeConfig();
AudioEncoderRuntimeConfig empty_config;
@@ -494,9 +494,8 @@ TEST(AudioEncoderOpusTest, EmptyConfigDoesNotAffectEncoderSettings) {
}
TEST(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
- rtc::ScopedFakeClock fake_clock;
auto states = CreateCodec(2);
- states.encoder->EnableAudioNetworkAdaptor("", nullptr, nullptr);
+ states.encoder->EnableAudioNetworkAdaptor("", nullptr);
std::array<int16_t, 480 * 2> audio;
audio.fill(0);
rtc::Buffer encoded;
@@ -509,7 +508,7 @@ TEST(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
// Repeat update uplink bandwidth tests.
for (int i = 0; i < 5; i++) {
// Don't update till it is time to update again.
- fake_clock.AdvanceTime(rtc::TimeDelta::FromMilliseconds(
+ states.fake_clock->AdvanceTime(rtc::TimeDelta::FromMilliseconds(
states.config.uplink_bandwidth_update_interval_ms - 1));
states.encoder->Encode(
0, rtc::ArrayView<const int16_t>(audio.data(), audio.size()), &encoded);
@@ -518,7 +517,7 @@ TEST(AudioEncoderOpusTest, UpdateUplinkBandwidthInAudioNetworkAdaptor) {
EXPECT_CALL(*states.mock_bitrate_smoother, GetAverage())
.WillOnce(Return(rtc::Optional<float>(40000)));
EXPECT_CALL(**states.mock_audio_network_adaptor, SetUplinkBandwidth(40000));
- fake_clock.AdvanceTime(rtc::TimeDelta::FromMilliseconds(1));
+ states.fake_clock->AdvanceTime(rtc::TimeDelta::FromMilliseconds(1));
states.encoder->Encode(
0, rtc::ArrayView<const int16_t>(audio.data(), audio.size()), &encoded);
}

Powered by Google App Engine
This is Rietveld 408576698