summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc')
-rw-r--r--chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc24
1 files changed, 12 insertions, 12 deletions
diff --git a/chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc b/chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
index 200a350157b..1ab546ad16f 100644
--- a/chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
+++ b/chromium/third_party/blink/renderer/platform/audio/audio_delay_dsp_kernel.cc
@@ -281,13 +281,13 @@ void AudioDelayDSPKernel::ProcessKRate(const float* source,
// carefully handling wrapping of the read pointer.
float* read_pointer = &buffer[read_index1];
- int remainder = buffer_end - read_pointer;
+ uint32_t remainder = static_cast<uint32_t>(buffer_end - read_pointer);
memcpy(sample1, read_pointer,
- sizeof(*sample1) *
- std::min(static_cast<int>(frames_to_process), remainder));
- memcpy(sample1 + remainder, buffer,
- sizeof(*sample1) *
- std::max(0, static_cast<int>(frames_to_process) - remainder));
+ sizeof(*sample1) * std::min(frames_to_process, remainder));
+ if (frames_to_process > remainder) {
+ memcpy(sample1 + remainder, buffer,
+ sizeof(*sample1) * (frames_to_process - remainder));
+ }
// If interpolation_factor = 0, we don't need to do any interpolation and
// sample1 contains the desried values. We can skip the following code.
@@ -298,13 +298,13 @@ void AudioDelayDSPKernel::ProcessKRate(const float* source,
float* sample2 = temp_buffer_.Data();
read_pointer = &buffer[read_index2];
- remainder = buffer_end - read_pointer;
+ remainder = static_cast<uint32_t>(buffer_end - read_pointer);
memcpy(sample2, read_pointer,
- sizeof(*sample1) *
- std::min(static_cast<int>(frames_to_process), remainder));
- memcpy(sample2 + remainder, buffer,
- sizeof(*sample1) *
- std::max(0, static_cast<int>(frames_to_process) - remainder));
+ sizeof(*sample1) * std::min(frames_to_process, remainder));
+ if (frames_to_process > remainder) {
+ memcpy(sample2 + remainder, buffer,
+ sizeof(*sample1) * (frames_to_process - remainder));
+ }
// Interpolate samples, where f = interpolation_factor
// dest[k] = sample1[k] + f*(sample2[k] - sample1[k]);