webrtc/modules/audio_processing
Sam Zackrisson 3bd444ffdb Clarify and extend test support for certain sample rates in audio processing
Sample rates not divisible by 100, in particular 11025 Hz and 22050 Hz, have long been used with APM in Chrome, but the support has never been stated explicitly.

This CL makes minor modifications to the APM API to clarify how rates are handled when 10 ms is not an integer number of samples. Unit tests are also extended to cover this case better.

This does not update all references to 10 ms and implicit floor(sample_rate/100) computations, but it does at least take us closer to a correct API.

Note that not all code needs to support these sample rates. For example, audio processing submodules only need to operate on the native APM rates 16000, 32000, 48000.

Bug: chromium:1332484
Change-Id: I1dad15468f6ccb9c0d4d09c5819fe87f8388d5b8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268769
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37682}
2022-08-03 14:26:36 +00:00
..
aec3 Add missing header to fix build error when using linux system libraries 2022-07-19 12:25:42 +00:00
aec_dump Refactor AecDump not to rely on QueuedTask 2022-07-18 11:07:51 +00:00
aecm Remove dependency on rtc_base_approved from most targets 2022-04-25 12:15:30 +00:00
agc AgcManagerDirect parametrized unit tests 2022-07-20 15:44:13 +00:00
agc2 Optimize the AGC2 Biquad filter. 2022-06-20 16:05:51 +00:00
capture_levels_adjuster Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
echo_detector Format almost everything. 2019-07-08 13:45:15 +00:00
g3doc Update links to point at main branch 2021-07-22 16:41:26 +00:00
include Clarify and extend test support for certain sample rates in audio processing 2022-08-03 14:26:36 +00:00
logging Add ability to dump the coarse filter in the echo subtractor 2021-05-19 08:24:16 +00:00
ns Remove dependency on rtc_base_approved from most targets 2022-04-25 12:15:30 +00:00
test Clarify and extend test support for certain sample rates in audio processing 2022-08-03 14:26:36 +00:00
transient Remove dependency on rtc_base_approved from most targets 2022-04-25 12:15:30 +00:00
utility Fixes to support building in -std=c++20 mode. 2022-05-05 17:15:58 +00:00
vad Fixes to support building in -std=c++20 mode. 2022-05-05 17:15:58 +00:00
audio_buffer.cc AudioBuffer: Remove deprecated constructor 2022-04-11 10:06:07 +00:00
audio_buffer.h AudioBuffer: Remove deprecated constructor 2022-04-11 10:06:07 +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 Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
audio_processing_builder_impl.cc Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
audio_processing_impl.cc Adopt absl::string_view in AudioProcessing's interface 2022-07-27 19:24:39 +00:00
audio_processing_impl.h Adopt absl::string_view in AudioProcessing's interface 2022-07-27 19:24:39 +00:00
audio_processing_impl_locking_unittest.cc Reland "Reland "Remove unused APM voice activity detection sub-module"" 2022-02-16 08:41:30 +00:00
audio_processing_impl_unittest.cc AudioProcessingImpl: Add a VAD submodule 2022-06-20 10:44:41 +00:00
audio_processing_performance_unittest.cc Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
audio_processing_unittest.cc Clarify and extend test support for certain sample rates in audio processing 2022-08-03 14:26:36 +00:00
BUILD.gn Adopt absl::string_view in AudioProcessing's interface 2022-07-27 19:24:39 +00:00
debug.proto Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
DEPS
echo_control_mobile_bit_exact_unittest.cc Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
echo_control_mobile_impl.cc Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
echo_control_mobile_impl.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
echo_control_mobile_unittest.cc Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
gain_control_impl.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +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 Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
gain_controller2.cc Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
gain_controller2.h Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
gain_controller2_unittest.cc AudioProcessingImpl: Add a VAD submodule 2022-06-20 10:44:41 +00:00
high_pass_filter.cc Prepare to rename RTC_NOTREACHED to RTC_DCHECK_NOTREACHED 2021-11-15 21:44:59 +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 Remove more traces of keyboard mic support from APM 2022-02-04 14:27:51 +00:00
optionally_built_submodule_creators.cc APM Transient Suppressor (TS): initialization params in ctor 2022-04-08 09:41:44 +00:00
optionally_built_submodule_creators.h APM Transient Suppressor (TS): initialization params in ctor 2022-04-08 09:41:44 +00:00
OWNERS Remove wildcard ownership for build files. 2020-02-19 14:05:46 +00:00
render_queue_item_verifier.h
residual_echo_detector.cc Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
residual_echo_detector.h Delete rtc_base/atomic_ops.h 2022-06-28 08:32:13 +00:00
residual_echo_detector_unittest.cc Move rtc::make_ref_counted to api/ 2022-06-15 09:47:38 +00:00
rms_level.cc Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +00:00
rms_level.h Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +00:00
rms_level_unittest.cc Ensure that an RTP audio level of 127 represents digital silence. 2022-05-06 07:56:39 +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 Optimize the three band filter bank. 2021-12-16 13:37:30 +00:00
three_band_filter_bank.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00