Fix NetEq minimum and maximum delay always reset on acm creation.
Bug: webrtc:10305 Change-Id: Iecc55c3b4bb8416e2fd0cf26532b43dcd70a7cca Reviewed-on: https://webrtc-review.googlesource.com/c/122280 Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org> Commit-Queue: Ruslan Burakov <kuddai@google.com> Cr-Commit-Position: refs/heads/master@{#26771}
This commit is contained in:
committed by
Commit Bot
parent
8073db6d89
commit
b35baccd6f
@ -652,9 +652,6 @@ int AudioCodingModuleImpl::InitializeReceiverSafe() {
|
||||
// start-up.
|
||||
if (receiver_initialized_)
|
||||
receiver_.RemoveAllCodecs();
|
||||
receiver_.ResetInitialDelay();
|
||||
receiver_.SetMinimumDelay(0);
|
||||
receiver_.SetMaximumDelay(0);
|
||||
receiver_.FlushBuffers();
|
||||
|
||||
receiver_initialized_ = true;
|
||||
|
||||
@ -85,7 +85,7 @@ DelayManager::DelayManager(size_t max_packets_in_buffer,
|
||||
last_seq_no_(0),
|
||||
last_timestamp_(0),
|
||||
minimum_delay_ms_(base_minimum_delay_ms_),
|
||||
maximum_delay_ms_(target_level_),
|
||||
maximum_delay_ms_(0),
|
||||
iat_cumulative_sum_(0),
|
||||
max_iat_cumulative_sum_(0),
|
||||
peak_detector_(*peak_detector),
|
||||
@ -96,7 +96,6 @@ DelayManager::DelayManager(size_t max_packets_in_buffer,
|
||||
enable_rtx_handling_(enable_rtx_handling) {
|
||||
assert(peak_detector); // Should never be NULL.
|
||||
RTC_DCHECK_GE(base_minimum_delay_ms_, 0);
|
||||
RTC_DCHECK_LE(minimum_delay_ms_, maximum_delay_ms_);
|
||||
|
||||
Reset();
|
||||
}
|
||||
|
||||
@ -314,12 +314,17 @@ TEST_F(DelayManagerTest, BaseMinimumDelayGreaterThanBufferSize) {
|
||||
SetPacketAudioLength(kFrameSizeMs);
|
||||
constexpr int kBaseMinimumDelayMs = kMaxBufferSizeMs + 1;
|
||||
constexpr int kMinimumDelayMs = 12;
|
||||
constexpr int kMaximumDelayMs = 20;
|
||||
constexpr int kMaxBufferSizeMsQ75 = 3 * kMaxBufferSizeMs / 4;
|
||||
|
||||
EXPECT_TRUE(dm_->SetMaximumDelay(kMaximumDelayMs));
|
||||
|
||||
// Base minimum delay is greater than minimum delay, that is why we clamp
|
||||
// it to current the highest possible value which is maximum delay.
|
||||
RTC_DCHECK_GT(kBaseMinimumDelayMs, kMinimumDelayMs);
|
||||
RTC_DCHECK_GT(kBaseMinimumDelayMs, kMaxBufferSizeMs);
|
||||
RTC_DCHECK_GT(kBaseMinimumDelayMs, kMaximumDelayMs);
|
||||
RTC_DCHECK_LT(kMaximumDelayMs, kMaxBufferSizeMsQ75);
|
||||
|
||||
EXPECT_TRUE(dm_->SetMinimumDelay(kMinimumDelayMs));
|
||||
EXPECT_TRUE(dm_->SetBaseMinimumDelay(kBaseMinimumDelayMs));
|
||||
|
||||
@ -115,7 +115,7 @@ class NetEq {
|
||||
int sample_rate_hz = 16000; // Initial value. Will change with input data.
|
||||
bool enable_post_decode_vad = false;
|
||||
size_t max_packets_in_buffer = 50;
|
||||
int max_delay_ms = 2000;
|
||||
int max_delay_ms = 0;
|
||||
int min_delay_ms = 0;
|
||||
bool enable_fast_accelerate = false;
|
||||
bool enable_muted_state = false;
|
||||
|
||||
Reference in New Issue
Block a user