From 2dc526342c7076a1edd74d8396282c3c20f5d868 Mon Sep 17 00:00:00 2001 From: Hendrik Langer Date: Fri, 31 Aug 2018 02:21:40 +0200 Subject: [PATCH] Revert "remove redundant boolean filled" This reverts commit be2ad3de2fa66548fa2c38cd34effeade55f6a81. --- src/AudioFileSourceBuffer.cpp | 6 +++++- src/AudioFileSourceBuffer.h | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/AudioFileSourceBuffer.cpp b/src/AudioFileSourceBuffer.cpp index 35bc0a1..610ab3b 100644 --- a/src/AudioFileSourceBuffer.cpp +++ b/src/AudioFileSourceBuffer.cpp @@ -33,6 +33,7 @@ AudioFileSourceBuffer::AudioFileSourceBuffer(AudioFileSource *source, uint32_t b readPtr = 0; src = source; length = 0; + filled = false; } AudioFileSourceBuffer::AudioFileSourceBuffer(AudioFileSource *source, void *inBuff, uint32_t buffSizeBytes) @@ -44,6 +45,7 @@ AudioFileSourceBuffer::AudioFileSourceBuffer(AudioFileSource *source, void *inBu readPtr = 0; src = source; length = 0; + filled = false; } AudioFileSourceBuffer::~AudioFileSourceBuffer() @@ -93,11 +95,12 @@ uint32_t AudioFileSourceBuffer::read(void *data, uint32_t len) if (!buffer) return src->read(data, len); uint32_t bytes = 0; - if (length == 0) { + if (!filled) { // Fill up completely before returning any data at all cb.st(STATUS_FILLING, PSTR("Refilling buffer")); length = src->read(buffer, buffSize); writePtr = length % buffSize; + filled = true; } // Pull from buffer until we've got none left or we've satisfied the request @@ -130,6 +133,7 @@ uint32_t AudioFileSourceBuffer::read(void *data, uint32_t len) readPtr = 0; writePtr = 0; length = 0; + filled = false; cb.st(STATUS_UNDERFLOW, PSTR("Buffer underflow")); } diff --git a/src/AudioFileSourceBuffer.h b/src/AudioFileSourceBuffer.h index 6eeb25f..909d936 100644 --- a/src/AudioFileSourceBuffer.h +++ b/src/AudioFileSourceBuffer.h @@ -55,6 +55,7 @@ class AudioFileSourceBuffer : public AudioFileSource uint32_t writePtr; uint32_t readPtr; uint32_t length; + bool filled; };