webrtc/modules/audio_processing/test
Sam Zackrisson feee1e4c36 Add flag to APM to force multichannel even with AEC3
Currently, APM fakes multichannel in two ways:
 - With injected AECs, capture processing is only performed on the left
channel. The result is copied into the other channels.
 - With multichannel render audio, all channels are mixed into one
before analysing.

This CL adds a flag to disable these behaviors, ensuring proper
multichannel processing happens throughout the APM pipeline.

Adds killswitches to separately disable render / capture multichannel.

Additionally - AEC3 currently crashes when running with multichannel.
This CL adds the missing pieces to at least have it run without
triggering any DCHECKS, including making the high pass filter properly
handle multichannel.

Bug: webrtc:10913, webrtc:10907
Change-Id: I38795bf8f312b959fcc816a056fba2c68d4e424d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/152483
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29248}
2019-09-20 06:36:12 +00:00
..
android/apmtest
conversational_speech Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
py_quality_assessment Fix wrong-import-order pylint errors in quality_assessment.signal_processing module. 2019-08-28 14:48:28 +00:00
aec_dump_based_simulator.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
aec_dump_based_simulator.h audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
api_call_statistics.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
api_call_statistics.h Added more refined benchmarking code for audioproc_f 2019-04-04 08:37:16 +00:00
apmtest.m
audio_buffer_tools.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
audio_buffer_tools.h Format almost everything. 2019-07-08 13:45:15 +00:00
audio_processing_simulator.cc Add flag to APM to force multichannel even with AEC3 2019-09-20 06:36:12 +00:00
audio_processing_simulator.h Add flag to APM to force multichannel even with AEC3 2019-09-20 06:36:12 +00:00
audioproc_float_impl.cc Add flag to APM to force multichannel even with AEC3 2019-09-20 06:36:12 +00:00
audioproc_float_impl.h audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
audioproc_float_main.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
bitexactness_tools.cc Format almost everything. 2019-07-08 13:45:15 +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 Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
echo_canceller_test_tools_unittest.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
echo_canceller_test_tools.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
echo_canceller_test_tools.h AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
echo_control_mock.h APM unit test: echo path gain change events notified. 2019-01-10 11:06:24 +00:00
fake_recording_device_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
fake_recording_device.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
fake_recording_device.h Reformat the WebRTC code base 2018-06-19 14:00:39 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
protobuf_utils.h audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
runtime_setting_util.cc Add PlayoutVolumeChange RuntimeSetting. 2019-05-10 14:12:23 +00:00
runtime_setting_util.h Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
simulator_buffers.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
simulator_buffers.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
test_utils.cc audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
test_utils.h audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
unittest.proto Base ApmTest.Process on AudioProcessingStats.output_rms_dbfs 2018-12-18 16:45:03 +00:00
wav_based_simulator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
wav_based_simulator.h Format almost everything. 2019-07-08 13:45:15 +00:00