webrtc/modules/audio_processing
Sam Zackrisson ff571c60a9 AEC3: Fix render delay buffer alignment issue at call start
Internal counters in the RenderDelayBuffer can slip out of sync with external counters, leading to buffer misalignment.
This CL gives the RenderDelayBuffer an opportunity to update its counters.

Tested:
Passes: modules_unittests --gtest_filter=BlockProcessor.*
Fails as expected due to new unit test: modules_unittests --gtest_filter=BlockProcessor.* --force_fieldtrials="WebRTC-Aec3RenderBufferCallCounterUpdateKillSwitch/Enabled/"

audioproc_f with default AEC settings has been verified to be bit-exact on a large number of aecdumps.

Bug: webrtc:11803
Change-Id: I9363b834c8c8c934add0335013df60bf131da4bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/180126
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31795}
2020-07-27 15:19:58 +00:00
..
aec3 AEC3: Fix render delay buffer alignment issue at call start 2020-07-27 15:19:58 +00:00
aec_dump In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro 2020-05-20 13:17:31 +00:00
aecm Fix bad frees in error paths of WebRtcAecm_Create 2020-03-21 23:01:47 +00:00
agc Use absl_deps in order to preapre to the Abseil component build release. 2020-06-08 12:59:40 +00:00
agc2 Use absl_deps in order to preapre to the Abseil component build release. 2020-06-08 12:59:40 +00:00
echo_detector Format almost everything. 2019-07-08 13:45:15 +00:00
include In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro 2020-05-20 13:17:31 +00:00
logging Add floating point support for writing and reading wav files 2020-01-30 13:38:19 +00:00
ns Use absl_deps in order to preapre to the Abseil component build release. 2020-06-08 12:59:40 +00:00
test Remove WebRTC usage of //third_party/pymock 2020-06-25 18:01:30 +00:00
transient Add unittests for APM with submodule creation disabled 2020-04-27 11:47:15 +00:00
utility Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
vad Merge OOURA BUILD.gn files. 2020-04-21 09:06:37 +00:00
audio_buffer.cc APM: Replace most usages of AudioFrame with a stream interface 2020-03-16 11:51:47 +00:00
audio_buffer.h APM: Replace most usages of AudioFrame with a stream interface 2020-03-16 11:51:47 +00:00
audio_buffer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
audio_frame_view_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
audio_processing_builder_impl.cc APM: Add build flag to allow building WebRTC without APM 2020-04-26 23:06:44 +00:00
audio_processing_impl.cc Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
audio_processing_impl.h Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
audio_processing_impl_locking_unittest.cc Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
audio_processing_impl_unittest.cc In common_audio/ and modules/audio_* replace mock macros with unified MOCK_METHOD macro 2020-05-20 13:17:31 +00:00
audio_processing_performance_unittest.cc APM: Add build flag to allow building WebRTC without APM 2020-04-26 23:06:44 +00:00
audio_processing_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
BUILD.gn Migrate modules/audio_coding, audio_mixer/ and audio_processing/ to webrtc::Mutex. 2020-07-07 14:35:58 +00:00
common.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
config_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
debug.proto Audio Processing Module: add play-out audio device runtime information 2019-11-07 13:33:09 +00:00
DEPS Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
echo_control_mobile_bit_exact_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
echo_control_mobile_impl.cc Removing deprecated legacy noise suppressor 2020-01-31 07:14:25 +00:00
echo_control_mobile_impl.h Removing deprecated legacy noise suppressor 2020-01-31 07:14:25 +00:00
echo_control_mobile_unittest.cc Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
gain_control_impl.cc Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_control_impl.h Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_control_unittest.cc Reland "Replace the ExperimentalAgc config with the new config format" 2020-01-17 10:09:09 +00:00
gain_controller2.cc Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
gain_controller2.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_controller2_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
high_pass_filter.cc Make the high-pass filter operate in full-band 2019-12-18 16:01:24 +00:00
high_pass_filter.h Reduce for reallocations the pre-amplifier and high-pass filter 2020-01-03 14:10:21 +00:00
high_pass_filter_unittest.cc Make the high-pass filter operate in full-band 2019-12-18 16:01:24 +00:00
level_estimator.cc Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
level_estimator.h Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
level_estimator_unittest.cc Remove AudioProcessing::level_estimator() getter 2019-10-11 18:08:17 +00:00
optionally_built_submodule_creators.cc Add unittests for APM with submodule creation disabled 2020-04-27 11:47:15 +00:00
optionally_built_submodule_creators.h Add unittests for APM with submodule creation disabled 2020-04-27 11:47:15 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
render_queue_item_verifier.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
residual_echo_detector.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +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 Make echo metrics optional 2020-04-29 14:29:27 +00:00
rms_level.cc Removing all external access to the integer sample data in AudioBuffer 2019-08-20 08:36:47 +00:00
rms_level.h Add directive to make webrtc metrics optional. 2019-12-09 13:55:50 +00:00
rms_level_unittest.cc Removing all external access to the integer sample data in AudioBuffer 2019-08-20 08:36:47 +00:00
splitting_filter.cc Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
splitting_filter.h Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
splitting_filter_unittest.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
three_band_filter_bank.cc Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
three_band_filter_bank.h Optimizations and refactoring of the APM 3-band split filter 2020-02-24 13:19:14 +00:00
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.cc APM: Localize/abstract the usage of AudioFrame 2020-03-17 13:55:41 +00:00
voice_detection.h Delete voice_detection() pointer to submodule 2019-10-07 13:06:05 +00:00
voice_detection_unittest.cc Delete voice_detection() pointer to submodule 2019-10-07 13:06:05 +00:00