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
2022-09-09 08:35:41 +00:00
2022-08-29 21:04:32 +00:00
2022-09-02 15:37:13 +00:00
2022-09-07 15:09:25 +00:00
2022-09-06 08:24:48 +00:00
2021-01-20 15:01:07 +00:00
2022-02-20 14:22:13 +00:00
2021-12-08 08:53:00 +00:00
2022-07-01 15:17:36 +00:00
2022-09-01 17:20:57 +00:00
2022-09-05 07:56:40 +00:00
2022-05-13 09:01:34 +00:00
2020-07-13 11:42:07 +00:00
2022-08-11 14:44:52 +00:00
2022-08-12 11:03:03 +00:00

WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.

The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.

Development

See here for instructions on how to get started developing with the native code.

Authoritative list of directories that contain the native API header files.

More info

Description
The idea is to make CMake build for WebRTC m130 version - for audio processing module
Readme BSD-3-Clause 446 MiB
Languages
C++ 90.3%
Java 2.9%
C 2.2%
Objective-C++ 2%
Python 1.3%
Other 1%