mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 22:00:47 +01:00

The playout modes other than Normal have not been reachable for a long time, other than through tests. It is time to deprecate them. The only meaningful use was that Fax mode was sometimes set from tests, in order to avoid time-stretching operations (accelerate and pre-emptive expand) from messing with the test results. With this CL, a new config is added instead, which lets the user specify exactly this: don't do time-stretching. As a result of Fax and Off modes being removed, the following code clean-up was done: - Fold DecisionLogicNormal into DecisionLogic. - Remove AudioRepetition and AlternativePlc operations, since they can no longer be reached. Bug: webrtc:9421 Change-Id: I651458e9c1931a99f3b07e242817d303bac119df Reviewed-on: https://webrtc-review.googlesource.com/84123 Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org> Reviewed-by: Ivo Creusen <ivoc@webrtc.org> Reviewed-by: Minyue Li <minyue@webrtc.org> Cr-Commit-Position: refs/heads/master@{#23704}
43 lines
1.6 KiB
C++
43 lines
1.6 KiB
C++
/*
|
|
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
// Unit tests for DecisionLogic class and derived classes.
|
|
|
|
#include "modules/audio_coding/neteq/decision_logic.h"
|
|
#include "modules/audio_coding/neteq/buffer_level_filter.h"
|
|
#include "modules/audio_coding/neteq/decoder_database.h"
|
|
#include "modules/audio_coding/neteq/delay_manager.h"
|
|
#include "modules/audio_coding/neteq/delay_peak_detector.h"
|
|
#include "modules/audio_coding/neteq/packet_buffer.h"
|
|
#include "modules/audio_coding/neteq/tick_timer.h"
|
|
#include "test/gtest.h"
|
|
#include "test/mock_audio_decoder_factory.h"
|
|
|
|
namespace webrtc {
|
|
|
|
TEST(DecisionLogic, CreateAndDestroy) {
|
|
int fs_hz = 8000;
|
|
int output_size_samples = fs_hz / 100; // Samples per 10 ms.
|
|
DecoderDatabase decoder_database(
|
|
new rtc::RefCountedObject<MockAudioDecoderFactory>, absl::nullopt);
|
|
TickTimer tick_timer;
|
|
PacketBuffer packet_buffer(10, &tick_timer);
|
|
DelayPeakDetector delay_peak_detector(&tick_timer);
|
|
DelayManager delay_manager(240, &delay_peak_detector, &tick_timer);
|
|
BufferLevelFilter buffer_level_filter;
|
|
DecisionLogic* logic = DecisionLogic::Create(
|
|
fs_hz, output_size_samples, false, &decoder_database, packet_buffer,
|
|
&delay_manager, &buffer_level_filter, &tick_timer);
|
|
delete logic;
|
|
}
|
|
|
|
// TODO(hlundin): Write more tests.
|
|
|
|
} // namespace webrtc
|