#include "modules/audio_processing/capture_levels_adjuster/capture_levels_adjuster.h"
#include "modules/audio_processing/audio_buffer.h"
#include "rtc_base/checks.h"
#include "rtc_base/numerics/safe_minmax.h"
namespace webrtc {
namespace {
constexpr int kMinAnalogMicGainLevel = …;
constexpr int kMaxAnalogMicGainLevel = …;
float ComputeLevelBasedGain(int emulated_analog_mic_gain_level) { … }
float ComputePreGain(float pre_gain,
int emulated_analog_mic_gain_level,
bool emulated_analog_mic_gain_enabled) { … }
}
CaptureLevelsAdjuster::CaptureLevelsAdjuster(
bool emulated_analog_mic_gain_enabled,
int emulated_analog_mic_gain_level,
float pre_gain,
float post_gain)
: … { … }
void CaptureLevelsAdjuster::ApplyPreLevelAdjustment(AudioBuffer& audio_buffer) { … }
void CaptureLevelsAdjuster::ApplyPostLevelAdjustment(
AudioBuffer& audio_buffer) { … }
void CaptureLevelsAdjuster::SetPreGain(float pre_gain) { … }
void CaptureLevelsAdjuster::SetPostGain(float post_gain) { … }
void CaptureLevelsAdjuster::SetAnalogMicGainLevel(int level) { … }
void CaptureLevelsAdjuster::UpdatePreAdjustmentGain() { … }
}