diff --git a/distrho/extra/RingBuffer.hpp b/distrho/extra/RingBuffer.hpp index 1b3feb75c..71f1018a5 100644 --- a/distrho/extra/RingBuffer.hpp +++ b/distrho/extra/RingBuffer.hpp @@ -229,7 +229,7 @@ class RingBufferControl const uint32_t wrap = buffer->tail > buffer->wrtn ? 0 : buffer->size; - return wrap + buffer->tail - buffer->wrtn; + return wrap + buffer->tail - buffer->wrtn - 1; } // ------------------------------------------------------------------- @@ -633,7 +633,7 @@ class RingBufferControl const uint32_t wrtn = buffer->wrtn; const uint32_t wrap = tail > wrtn ? 0 : buffer->size; - if (size > wrap + tail - wrtn) + if (size >= wrap + tail - wrtn) { if (! errorWriting) {