webrtc/modules/audio_processing/include
Sam Zackrisson 235131303b Add noise suppression settings to AudioProcessing::Config
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}
2019-01-14 16:17:19 +00:00
..
aec_dump.cc Removing the intelligibility enhancer. 2018-08-30 21:29:57 +00:00
aec_dump.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
audio_frame_view.h Add namespace 'webrtc' to AudioFrameView. 2018-05-14 12:33:49 +00:00
audio_generator.h Add stub draft of audio generator to APM 2018-03-05 09:28:52 +00:00
audio_generator_factory.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
audio_generator_factory.h Add stub draft of audio generator to APM 2018-03-05 09:28:52 +00:00
audio_processing.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
audio_processing.h Add noise suppression settings to AudioProcessing::Config 2019-01-14 16:17:19 +00:00
audio_processing_statistics.cc Use the new AudioProcessing statistics everywhere. 2017-11-24 18:17:39 +00:00
audio_processing_statistics.h Add private voice detection instance to replace public voice detector 2018-12-27 12:00:06 +00:00
config.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
config.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
gain_control.h Break out Agc code from audio_processing. 2018-07-06 13:29:43 +00:00
mock_audio_processing.h Remove deprecated AudioProcessing::GetStatistics function 2018-11-01 11:21:15 +00:00