235131303bfb2ad9cadffb02bebe8f34b8426632

This Config configuration will eventually replace the AudioProcessing::noise_suppression() interface. This also introduces a proxy NoiseSuppression, returned by AudioProcessing::noise_suppression. Without this proxy, ApplyConfig could overwrite NS settings for clients who currently use noise_suppression(). For example, the following code will not preserve the noise suppression level: apm->noise_suppression()->set_level(NoiseSuppression::kHigh); auto cfg = apm->GetConfig(); apm->ApplyConfig(cfg); The NoiseSuppression instance returned by noise_suppression() has no way to update the config inside APM, so GetConfig() will return an out-of-date config which is then re-applied. This CL adds a proxy that makes this update, by forwarding Enable() and set_level() calls to ApplyConfig(). Drive-by change: AudioProcessing::Config substructs are reordered to mirror the capture processing pipeline. Tested: Ran ToT and this CL builds of audioproc_f and verified identical settings/aecdumps. Bug: webrtc:9947 Change-Id: I823eade894be115c254d656562564108b2b63b1f Reviewed-on: https://webrtc-review.googlesource.com/c/116521 Reviewed-by: Alex Loiko <aleloi@webrtc.org> Commit-Queue: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26248}
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 http://www.webrtc.org/native-code/development 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
- Official web site: http://www.webrtc.org
- Master source code repo: https://webrtc.googlesource.com/src
- Samples and reference apps: https://github.com/webrtc
- Mailing list: http://groups.google.com/group/discuss-webrtc
- Continuous build: http://build.chromium.org/p/client.webrtc
- Coding style guide
- Code of conduct
Description
Languages
C++
88.6%
C
3.3%
Java
3%
Objective-C++
1.9%
Python
1.9%
Other
1%