| 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);
|
| }
|
|
|