AGC2 periodically reset VAD state
Bug: webrtc:7494
Change-Id: I880ef3991ade4e429ccde843571f069ede149c0e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/213342
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33604}
diff --git a/modules/audio_processing/include/audio_processing.h b/modules/audio_processing/include/audio_processing.h
index bb24a48..a5c266a 100644
--- a/modules/audio_processing/include/audio_processing.h
+++ b/modules/audio_processing/include/audio_processing.h
@@ -210,7 +210,7 @@
// capture_level_adjustment instead.
struct PreAmplifier {
bool enabled = false;
- float fixed_gain_factor = 1.f;
+ float fixed_gain_factor = 1.0f;
} pre_amplifier;
// Functionality for general level adjustment in the capture pipeline. This
@@ -222,9 +222,9 @@
}
bool enabled = false;
// The `pre_gain_factor` scales the signal before any processing is done.
- float pre_gain_factor = 1.f;
+ float pre_gain_factor = 1.0f;
// The `post_gain_factor` scales the signal after all processing is done.
- float post_gain_factor = 1.f;
+ float post_gain_factor = 1.0f;
struct AnalogMicGainEmulation {
bool operator==(const AnalogMicGainEmulation& rhs) const;
bool operator!=(const AnalogMicGainEmulation& rhs) const {
@@ -352,20 +352,21 @@
enum LevelEstimator { kRms, kPeak };
bool enabled = false;
struct FixedDigital {
- float gain_db = 0.f;
+ float gain_db = 0.0f;
} fixed_digital;
struct AdaptiveDigital {
bool enabled = false;
+ int vad_reset_period_ms = 1500;
float vad_probability_attack = 0.3f;
LevelEstimator level_estimator = kRms;
int level_estimator_adjacent_speech_frames_threshold = 6;
// TODO(crbug.com/webrtc/7494): Remove `use_saturation_protector`.
bool use_saturation_protector = true;
- float initial_saturation_margin_db = 20.f;
- float extra_saturation_margin_db = 5.f;
+ float initial_saturation_margin_db = 20.0f;
+ float extra_saturation_margin_db = 5.0f;
int gain_applier_adjacent_speech_frames_threshold = 6;
- float max_gain_change_db_per_second = 3.f;
- float max_output_noise_level_dbfs = -55.f;
+ float max_gain_change_db_per_second = 3.0f;
+ float max_output_noise_level_dbfs = -55.0f;
bool sse2_allowed = true;
bool avx2_allowed = true;
bool neon_allowed = true;
@@ -417,7 +418,7 @@
int max_volume; // Maximum play-out volume.
};
- RuntimeSetting() : type_(Type::kNotSpecified), value_(0.f) {}
+ RuntimeSetting() : type_(Type::kNotSpecified), value_(0.0f) {}
~RuntimeSetting() = default;
static RuntimeSetting CreateCapturePreGain(float gain) {
@@ -439,8 +440,8 @@
// Corresponds to Config::GainController2::fixed_digital::gain_db, but for
// runtime configuration.
static RuntimeSetting CreateCaptureFixedPostGain(float gain_db) {
- RTC_DCHECK_GE(gain_db, 0.f);
- RTC_DCHECK_LE(gain_db, 90.f);
+ RTC_DCHECK_GE(gain_db, 0.0f);
+ RTC_DCHECK_LE(gain_db, 90.0f);
return {Type::kCaptureFixedPostGain, gain_db};
}