webrtc/modules/audio_processing/include
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
..
aec_dump.cc Removing the intelligibility enhancer. 2018-08-30 21:29:57 +00:00
aec_dump.h Format almost everything. 2019-07-08 13:45:15 +00:00
audio_frame_view.h Add namespace 'webrtc' to AudioFrameView. 2018-05-14 12:33:49 +00:00
audio_generator_factory.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
audio_generator_factory.h Add stub draft of audio generator to APM 2018-03-05 09:28:52 +00:00
audio_generator.h Add stub draft of audio generator to APM 2018-03-05 09:28:52 +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
audio_processing.cc Adding more refined control over choice of band-splitting 2019-09-14 23:14:17 +00:00
audio_processing.h Add flag to APM to force multichannel even with AEC3 2019-09-20 06:36:12 +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 Add replacement interface for webrtc::GainConrol 2019-03-27 15:19:41 +00:00
mock_audio_processing.h Use the AEC3 high-pass filter for the whole APM 2019-08-23 20:04:10 +00:00