Browse Source

AudioFormatReaderSource: Avoid reading past the end of the wrapped AudioFormatReader

v7.0.9
reuk 2 years ago
parent
commit
c56102f50a
No known key found for this signature in database GPG Key ID: 9ADCD339CFC98A11
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp

+ 8
- 2
modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp View File

@@ -81,8 +81,14 @@ void AudioFormatReaderSource::getNextAudioBlock (const AudioSourceChannelInfo& i
}
else
{
reader->read (info.buffer, info.startSample,
info.numSamples, start, true, true);
const auto samplesToRead = jlimit (int64{},
(int64) info.numSamples,
reader->lengthInSamples - start);
reader->read (info.buffer, info.startSample, (int) samplesToRead, start, true, true);
info.buffer->clear ((int) (info.startSample + samplesToRead),
(int) (info.numSamples - samplesToRead));
nextPlayPos += info.numSamples;
}
}


Loading…
Cancel
Save