webrtc/modules/audio_processing
Gustaf Ullberg 11539f0b29 AEC3: Simplify render buffering
This CL simplifies the buffering of render data. Instead of making assumptions
about the worst possible platform, it leverages recent improvements in
the delay estimator to quickly adapt when the conditions change.

Pros:
- No capture delay, delay is found ~200 ms faster.
- Cleaner code that makes the concept of delay more clear.
- Allows for removal of one matched filter because of the jitter headroom
removal.

Cons:
- Delay estimator needs to re-adapt when the call jitter increases.

The code can be deactivated by a kill switch. When the kill switch is
pulled the CL is bit exact.

Bug: webrtc:9726,chromium:895338
Change-Id: Ie2f9c8c5ce5b5a4510b4bdb95db2b970b57cd5d0
Reviewed-on: https://webrtc-review.googlesource.com/c/96920
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25169}
2018-10-15 13:31:50 +00:00
..
aec Remove deprecated field_trial_default and metrics_default. 2018-09-28 07:21:07 +00:00
aec3 AEC3: Simplify render buffering 2018-10-15 13:31:50 +00:00
aec_dump Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
aecm Explicitly add -mfpu=neon to all targets that use NEON 2018-08-01 13:15:42 +00:00
agc Remove deprecated field_trial_default and metrics_default. 2018-09-28 07:21:07 +00:00
agc2 Reland of 'Bug in histogram metric reporting.' 2018-10-05 14:47:13 +00:00
audio_generator Add stub draft of audio generator to APM 2018-03-05 09:28:52 +00:00
echo_detector Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
include Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
logging Remove stringstream usages from the APM 2018-04-06 14:17:03 +00:00
ns Move fft4g to proper third_party directory 2018-07-25 15:44:53 +00:00
test Add JSON parsing and corresponding ToString to EchoCanceller3Config 2018-10-10 09:17:09 +00:00
transient Remove simple stringstream usages. 2018-09-06 12:53:19 +00:00
utility Explicitly add -mfpu=neon to all targets that use NEON 2018-08-01 13:15:42 +00:00
vad Move fft4g to proper third_party directory 2018-07-25 15:44:53 +00:00
audio_buffer.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
audio_buffer.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
audio_buffer_unittest.cc
audio_frame_view_unittest.cc Add namespace 'webrtc' to AudioFrameView. 2018-05-14 12:33:49 +00:00
audio_processing_impl.cc Fix race conditions for ReofferDoesNotCallOnTrack test. 2018-10-11 16:12:12 +00:00
audio_processing_impl.h Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
audio_processing_impl_locking_unittest.cc Reland "Remove APM internal usage of EchoCancellation" 2018-09-17 09:51:08 +00:00
audio_processing_impl_unittest.cc APM: render pre-processor moved before echo detector queuing. 2018-08-09 14:40:31 +00:00
audio_processing_performance_unittest.cc Reland "Remove APM internal usage of EchoCancellation" 2018-09-17 09:51:08 +00:00
audio_processing_unittest.cc Reland "Remove APM-internal usage of EchoControlMobile" 2018-10-03 07:45:33 +00:00
BUILD.gn Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
common.h
config_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
debug.proto Reland "Remove APM-internal usage of EchoControlMobile" 2018-10-03 07:45:33 +00:00
DEPS
echo_cancellation_bit_exact_unittest.cc Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
echo_cancellation_impl.cc Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
echo_cancellation_impl.h Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
echo_cancellation_impl_unittest.cc Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
echo_control_mobile_bit_exact_unittest.cc Reland "Remove APM-internal usage of EchoControlMobile" 2018-10-03 07:45:33 +00:00
echo_control_mobile_impl.cc Reland "Remove APM-internal usage of EchoControlMobile" 2018-10-03 07:45:33 +00:00
echo_control_mobile_impl.h Delete deprecated AEC interfaces 2018-10-04 09:20:10 +00:00
echo_control_mobile_unittest.cc Reland "Remove APM-internal usage of EchoControlMobile" 2018-10-03 07:45:33 +00:00
gain_control_for_experimental_agc.cc Atomically increment GainControl instance counter. 2018-08-15 07:44:00 +00:00
gain_control_for_experimental_agc.h Reset Agc2 on analog gain changes. 2018-08-08 14:36:37 +00:00
gain_control_impl.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
gain_control_impl.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
gain_control_unittest.cc
gain_controller2.cc Reduce digital adaptive AGC2 gain in some situations. 2018-10-02 08:34:10 +00:00
gain_controller2.h Optionally disable digital adaptive AGC2. 2018-08-24 15:54:43 +00:00
gain_controller2_unittest.cc Set a positive initial gain in the Adaptive Digital GC. 2018-04-27 09:05:25 +00:00
level_estimator_impl.cc
level_estimator_impl.h
level_estimator_unittest.cc
low_cut_filter.cc
low_cut_filter.h
low_cut_filter_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
noise_suppression_impl.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
noise_suppression_impl.h
noise_suppression_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
OWNERS Adding alessiob@ and minyue@ as owners of APM. 2018-07-02 07:45:31 +00:00
render_queue_item_verifier.h
residual_echo_detector.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
residual_echo_detector.h Add more parameters to the Initialize function of the echo detector. 2018-03-15 09:21:56 +00:00
residual_echo_detector_unittest.cc Change echo detector to scoped_refptr 2018-06-14 09:51:41 +00:00
rms_level.cc Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
rms_level.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
rms_level_unittest.cc Move some more numeric utility code from rtc_base/ to rtc_base/numerics/ 2017-11-22 12:39:39 +00:00
splitting_filter.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
splitting_filter.h
splitting_filter_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
three_band_filter_bank.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
three_band_filter_bank.h
typing_detection.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
typing_detection.h Reland "Export symbols needed by the Chromium component build (part 1)." 2018-10-11 09:50:21 +00:00
voice_detection_impl.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
voice_detection_impl.h
voice_detection_unittest.cc