webrtc/modules/audio_processing/agc
Alex Loiko 99f1e0d008 Reset level estimator when analog gain changes.
In AgcManagerDirect::UpdateGain(), Agc::GetRmsErrorDb() is
called. Depending on the result of that call, the analog gain may be
changed. After an analog gain change, the Agc should be reset, because
it's memory contains now invalid loudness levels.

The Agc in modules/audio_processing/agc/agc.cc resets itself at every
successful Agc::GetRmsErrorDb call. The AdaptiveModeLevelEstimatorAgc
does not. This change makes sure all Agcs are reset from
AgcManagerDirect.

It will cause some Agcs to be reset twice. This is fine, because
Agc::Reset() is cheap and idempotent.

Bug: webrtc:7494
Change-Id: Iee7495d699cbdb9d69b2ae0cb07034c6e2761e22
Reviewed-on: https://webrtc-review.googlesource.com/89040
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24054}
2018-07-20 14:18:38 +00:00
..
legacy Fuzzer finds fixedpoint failure. 2018-07-19 12:11:22 +00:00
agc.cc Remove dependencies on modules:module_api from AudioProcessing. 2018-04-12 22:05:27 +00:00
agc.h Streamline error handling and logging in the audio processing module 2018-02-15 15:06:26 +00:00
agc_manager_direct.cc Reset level estimator when analog gain changes. 2018-07-20 14:18:38 +00:00
agc_manager_direct.h Allow AGC2 level estimation in AgcManagerDirect. 2018-07-06 14:18:18 +00:00
agc_manager_direct_unittest.cc Reset level estimator when analog gain changes. 2018-07-20 14:18:38 +00:00
BUILD.gn Allow AGC2 level estimation in AgcManagerDirect. 2018-07-06 14:18:18 +00:00
gain_map_internal.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
loudness_histogram.cc Remove dependencies on modules:module_api from AudioProcessing. 2018-04-12 22:05:27 +00:00
loudness_histogram.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
loudness_histogram_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
mock_agc.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
utility.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
utility.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00