#include "modules/audio_coding/neteq/delay_manager.h"
#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <memory>
#include <numeric>
#include <string>
#include "api/field_trials_view.h"
#include "modules/include/module_common_types_public.h"
#include "rtc_base/checks.h"
#include "rtc_base/experiments/struct_parameters_parser.h"
#include "rtc_base/logging.h"
#include "rtc_base/numerics/safe_conversions.h"
#include "rtc_base/numerics/safe_minmax.h"
namespace webrtc {
namespace {
constexpr int kMinBaseMinimumDelayMs = …;
constexpr int kMaxBaseMinimumDelayMs = …;
constexpr int kStartDelayMs = …;
std::unique_ptr<ReorderOptimizer> MaybeCreateReorderOptimizer(
const DelayManager::Config& config) { … }
}
DelayManager::Config::Config(const FieldTrialsView& field_trials) { … }
void DelayManager::Config::Log() { … }
DelayManager::DelayManager(const Config& config, const TickTimer* tick_timer)
: … { … }
DelayManager::~DelayManager() { … }
void DelayManager::Update(int arrival_delay_ms, bool reordered) { … }
int DelayManager::SetPacketAudioLength(int length_ms) { … }
void DelayManager::Reset() { … }
int DelayManager::TargetDelayMs() const { … }
int DelayManager::UnlimitedTargetLevelMs() const { … }
bool DelayManager::IsValidMinimumDelay(int delay_ms) const { … }
bool DelayManager::IsValidBaseMinimumDelay(int delay_ms) const { … }
bool DelayManager::SetMinimumDelay(int delay_ms) { … }
bool DelayManager::SetMaximumDelay(int delay_ms) { … }
bool DelayManager::SetBaseMinimumDelay(int delay_ms) { … }
int DelayManager::GetBaseMinimumDelay() const { … }
void DelayManager::UpdateEffectiveMinimumDelay() { … }
int DelayManager::MinimumDelayUpperBound() const { … }
}