webrtc/modules/audio_processing/test
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
..
android/apmtest
conversational_speech (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
py_quality_assessment Use output_dir instead of output_name 2018-12-14 14:22:52 +00:00
aec_dump_based_simulator.cc Add noise suppression settings to AudioProcessing::Config 2019-01-14 16:17:19 +00:00
aec_dump_based_simulator.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
apmtest.m
audio_buffer_tools.cc
audio_buffer_tools.h
audio_processing_simulator.cc Delete unneeded includes of rtc_base/stringutils.h. 2018-12-19 11:04:27 +00:00
audio_processing_simulator.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
audioproc_float_impl.cc Add output directory option for audioproc_f data dump files. 2018-11-20 13:30:24 +00:00
audioproc_float_impl.h Moved audioproc_f interface into api directory. 2018-03-15 12:31:37 +00:00
audioproc_float_main.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
bitexactness_tools.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
bitexactness_tools.h Add DCHECK and documentation to disallow trying to read more than two audio channels in helper function. 2018-01-12 15:27:50 +00:00
debug_dump_replayer.cc Add noise suppression settings to AudioProcessing::Config 2019-01-14 16:17:19 +00:00
debug_dump_replayer.h Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
debug_dump_test.cc Add noise suppression settings to AudioProcessing::Config 2019-01-14 16:17:19 +00:00
echo_canceller_test_tools.cc
echo_canceller_test_tools.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
echo_canceller_test_tools_unittest.cc
echo_control_mock.h APM unit test: echo path gain change events notified. 2019-01-10 11:06:24 +00:00
fake_recording_device.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
fake_recording_device.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
fake_recording_device_unittest.cc Make fewer copies when using StringBuilder. 2018-09-24 09:39:19 +00:00
performance_timer.cc Optional: Use nullopt and implicit construction in /modules/audio_processing 2017-11-20 10:19:30 +00:00
performance_timer.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
protobuf_utils.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
protobuf_utils.h
runtime_setting_util.cc Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
runtime_setting_util.h Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
simulator_buffers.cc
simulator_buffers.h
test_utils.cc Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
test_utils.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
unittest.proto Base ApmTest.Process on AudioProcessingStats.output_rms_dbfs 2018-12-18 16:45:03 +00:00
wav_based_simulator.cc Reland "Remove APM internal usage of EchoCancellation" 2018-09-17 09:51:08 +00:00
wav_based_simulator.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