Correct the handling of sample rates that don't scale well into even 10 ms chunks

This CL corrects the way the audio processing module handles sample rates that
don't allow partitioning the data into evenly sized 10 ms chunks, examples
being 22050 Hz and 11025 Hz.

Bug: webrtc:10882
Change-Id: I35d738f8a0e1debc443fe5d473c0d666a7ba8d98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150526
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28953}
This commit is contained in:
Per Åhgren
2019-08-26 11:21:16 +02:00
committed by Commit Bot
parent 1fda027729
commit 2ca0b3689f

View File

@ -46,11 +46,11 @@ AudioBuffer::AudioBuffer(size_t input_rate,
size_t buffer_num_channels,
size_t output_rate,
size_t output_num_channels)
: AudioBuffer(rtc::CheckedDivExact(static_cast<int>(input_rate), 100),
: AudioBuffer(static_cast<int>(input_rate) / 100,
input_num_channels,
rtc::CheckedDivExact(static_cast<int>(buffer_rate), 100),
static_cast<int>(buffer_rate) / 100,
buffer_num_channels,
rtc::CheckedDivExact(static_cast<int>(output_rate), 100)) {}
static_cast<int>(output_rate) / 100) {}
AudioBuffer::AudioBuffer(size_t input_num_frames,
size_t input_num_channels,