AudioProcessingImpl: Move analog gain change check
Move the check for analog gain changes so that it can be used
independently of echo_controller. This change is needed to land
https://webrtc-review.googlesource.com/c/src/+/234140.
Bug: webrtc:12774
Change-Id: I9ea127b0a4d374f31493d6f8afcacee40fa9257c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234383
Commit-Queue: Hanna Silen <silen@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35159}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 1668539..d7fbfb6 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -1146,13 +1146,15 @@
levels.peak, 1, RmsLevel::kMinLevelDb, 64);
}
+ // Detect an analog gain change.
+ int analog_mic_level = recommended_stream_analog_level_locked();
+ const bool analog_mic_level_changed =
+ capture_.prev_analog_mic_level != analog_mic_level &&
+ capture_.prev_analog_mic_level != -1;
+ capture_.prev_analog_mic_level = analog_mic_level;
+
if (submodules_.echo_controller) {
- // Detect and flag any change in the analog gain.
- int analog_mic_level = recommended_stream_analog_level_locked();
- capture_.echo_path_gain_change =
- capture_.prev_analog_mic_level != analog_mic_level &&
- capture_.prev_analog_mic_level != -1;
- capture_.prev_analog_mic_level = analog_mic_level;
+ capture_.echo_path_gain_change = analog_mic_level_changed;
// Detect and flag any change in the capture level adjustment pre-gain.
if (submodules_.capture_levels_adjuster) {