From 156d8c70585f6fea35637df79d12b16e7acced67 Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Tue, 12 Jul 2022 22:09:12 +0100 Subject: [PATCH] FLAC/OGG: Fix a bug in buffered reads --- modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp | 3 ++- .../juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp index da65398737..8e389f52ce 100644 --- a/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp @@ -274,7 +274,8 @@ public: if (! remainingSamples.isEmpty()) for (int i = numDestChannels; --i >= 0;) if (destSamples[i] != nullptr) - zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) remainingSamples.getLength() * sizeof (int)); + zeromem (destSamples[i] + startOffsetInDestBuffer + (remainingSamples.getStart() - startSampleInFile), + (size_t) remainingSamples.getLength() * sizeof (int)); return true; } diff --git a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp index d1e0efdb60..b47c4a4d39 100644 --- a/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp +++ b/modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp @@ -216,7 +216,8 @@ public: if (! remainingSamples.isEmpty()) for (int i = numDestChannels; --i >= 0;) if (destSamples[i] != nullptr) - zeromem (destSamples[i] + startOffsetInDestBuffer, (size_t) remainingSamples.getLength() * sizeof (int)); + zeromem (destSamples[i] + startOffsetInDestBuffer + (remainingSamples.getStart() - startSampleInFile), + (size_t) remainingSamples.getLength() * sizeof (int)); return true; }