webrtc/modules/audio_processing
Alessio Bazzica b190ca9e70 Disable Analog AGC based on the APM config
Fixing a bug due to which the analog controller could not be disabled.
AudioProcessing::Config::GainController1::AnalogGainController::enabled
was ignored and therefore `recommended_stream_analog_level_locked()` in
APM was returning the level recommended by `AgcManagerDirect`.

When the analog controller is disabled, `stream_analog_level()` now
returns the last value set via `set_stream_analog_level()`.
However, the analog controller code is still running and, in particular,
the existing metrics are reported as if the controller were enabled.
This choice was made to reduce the risks of adding bugs in the digital
compression gain selection part, which is tied to the analog
controller. The metric drawback will be solved in a follow-up CL.

Additional changes:
- log `WebRTC.Audio.GainController.Analog.Enabled` when
AGC1 is created or when its config changes
- first step to replace "analog level" with "input volume"

Bug: webrtc:7909, b/180019868
Change-Id: I28ce9556dd98f3dd9ad546799406c55478730435
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/270663
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38044}
2022-09-09 10:34:58 +00:00
..
aec3 Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
aec_dump Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
aecm Remove dependency on rtc_base_approved from most targets 2022-04-25 12:15:30 +00:00
agc Disable Analog AGC based on the APM config 2022-09-09 10:34:58 +00:00
agc2 Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
capture_levels_adjuster Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
echo_detector Format almost everything. 2019-07-08 13:45:15 +00:00
g3doc Update links to point at main branch 2021-07-22 16:41:26 +00:00
include Remove unnecessary overload 2022-08-11 12:34:32 +00:00
logging Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
ns Remove dependency on rtc_base_approved from most targets 2022-04-25 12:15:30 +00:00
test Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
transient Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
utility Fixes to support building in -std=c++20 mode. 2022-05-05 17:15:58 +00:00
vad Fixes to support building in -std=c++20 mode. 2022-05-05 17:15:58 +00:00
audio_buffer.cc AudioBuffer: Remove deprecated constructor 2022-04-11 10:06:07 +00:00
audio_buffer.h AudioBuffer: Remove deprecated constructor 2022-04-11 10:06:07 +00:00
audio_buffer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
audio_frame_view_unittest.cc Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
audio_processing_builder_impl.cc Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
audio_processing_impl.cc Disable Analog AGC based on the APM config 2022-09-09 10:34:58 +00:00
audio_processing_impl.h Remove unnecessary overloads of AudioProcessing::CreateAndAttachAecDump() 2022-08-09 13:32:59 +00:00
audio_processing_impl_locking_unittest.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
audio_processing_impl_unittest.cc AudioProcessingImpl: Add a VAD submodule 2022-06-20 10:44:41 +00:00
audio_processing_performance_unittest.cc Update rtc::Event::Wait call sites to use TimeDelta. 2022-08-19 10:07:28 +00:00
audio_processing_unittest.cc Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
BUILD.gn Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
debug.proto Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
DEPS
echo_control_mobile_bit_exact_unittest.cc Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
echo_control_mobile_impl.cc Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
echo_control_mobile_impl.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
echo_control_mobile_unittest.cc Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
gain_control_impl.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
gain_control_impl.h Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_control_unittest.cc Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
gain_controller2.cc Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
gain_controller2.h Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
gain_controller2_unittest.cc AudioProcessingImpl: Add a VAD submodule 2022-06-20 10:44:41 +00:00
high_pass_filter.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +00:00
high_pass_filter.h Reduce for reallocations the pre-amplifier and high-pass filter 2020-01-03 14:10:21 +00:00
high_pass_filter_unittest.cc Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
optionally_built_submodule_creators.cc APM Transient Suppressor (TS): initialization params in ctor 2022-04-08 09:41:44 +00:00
optionally_built_submodule_creators.h APM Transient Suppressor (TS): initialization params in ctor 2022-04-08 09:41:44 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
render_queue_item_verifier.h
residual_echo_detector.cc Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
residual_echo_detector.h Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
residual_echo_detector_unittest.cc Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
rms_level.cc Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +00:00
rms_level.h Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +00:00
rms_level_unittest.cc Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +00:00
splitting_filter.cc Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
splitting_filter.h Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
splitting_filter_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
three_band_filter_bank.cc Optimize the three band filter bank. 2021-12-16 13:37:30 +00:00
three_band_filter_bank.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00