FastLED 3.9.15
Loading...
Searching...
No Matches

◆ fillBuffer()

bool fl::third_party::Mp3StreamDecoderImpl::fillBuffer ( )
private

Definition at line 225 of file mp3.cpp.hpp.

225 {
226 // Shift remaining data to beginning of buffer
227 if (mBufferPos > 0 && mBufferFilled > mBufferPos) {
228 fl::size remaining = mBufferFilled - mBufferPos;
229 for (fl::size i = 0; i < remaining; i++) {
230 mBuffer[i] = mBuffer[mBufferPos + i];
231 }
232 mBufferFilled = remaining;
233 mBufferPos = 0;
234 } else if (mBufferPos >= mBufferFilled) {
235 mBufferPos = 0;
236 mBufferFilled = 0;
237 }
238
239 // Fill the rest of the buffer from stream
240 fl::size spaceAvailable = BUFFER_SIZE - mBufferFilled;
241 if (spaceAvailable > 0 && mStream && mStream->available(1)) {
242 fl::size bytesRead = mStream->read(mBuffer.data() + mBufferFilled, spaceAvailable);
243 mBufferFilled += bytesRead;
244 return bytesRead > 0;
245 }
246
247 return mBufferFilled > mBufferPos;
248}
static constexpr fl::size BUFFER_SIZE
Definition mp3.cpp.hpp:140

References BUFFER_SIZE, mBuffer, mBufferFilled, mBufferPos, and mStream.

Referenced by decodeNextFrame().

+ Here is the caller graph for this function: