diff --git a/src/sfizz/Voice.cpp b/src/sfizz/Voice.cpp index 36496790..5873d5c6 100644 --- a/src/sfizz/Voice.cpp +++ b/src/sfizz/Voice.cpp @@ -418,7 +418,7 @@ void sfz::Voice::fillWithData(AudioSpan buffer) noexcept if (*index >= sampleEnd) { releaseAt = static_cast(std::distance(indices.begin(), index)); const auto remainingElements = static_cast(std::distance(index, indices.end())); - if (source.getNumFrames() != region->trueSampleEnd(currentPromise->oversamplingFactor)) { + if (source.getNumFrames() - 1 < region->trueSampleEnd(currentPromise->oversamplingFactor)) { DBG("[sfizz] Underflow: source available samples " << source.getNumFrames() << "/" << region->trueSampleEnd(currentPromise->oversamplingFactor)