Compare commits

...

5 Commits

Author SHA1 Message Date
h3ndrik 5e6e32daf8
Merge 428726eb99 into 0abcf71012 2023-08-03 02:21:02 -04:00
Hendrik Langer 428726eb99 set filled after pre-buffering 2018-08-31 02:24:59 +02:00
Hendrik Langer 2dc526342c Revert "remove redundant boolean filled"
This reverts commit be2ad3de2f.
2018-08-31 02:24:26 +02:00
Hendrik Langer ed1bb429f1 implement pre-buffering 2018-08-28 01:33:23 +02:00
Hendrik Langer be2ad3de2f remove redundant boolean filled 2018-08-28 00:56:14 +02:00
2 changed files with 22 additions and 0 deletions

View File

@ -179,6 +179,27 @@ void AudioFileSourceBuffer::fill()
}
}
bool AudioFileSourceBuffer::fill(uint32_t len, uint32_t max_delay)
{
if (!src->isOpen()) {
Serial.printf_P(PSTR("Source file not open\n"));
return false;
}
if (!src->loop()) return false;
fill();
uint32_t toFill = (len < buffSize) ? len : buffSize;
uint32_t startTimestamp = millis();
while (length < toFill && millis() - startTimestamp < max_delay) {
delay(100);
if (!src->loop()) return false;
fill();
}
filled = true;
if (length < len) return false;
return true;
}
bool AudioFileSourceBuffer::loop()

View File

@ -39,6 +39,7 @@ class AudioFileSourceBuffer : public AudioFileSource
virtual uint32_t getPos() override;
virtual bool loop() override;
virtual bool fill(uint32_t len, uint32_t max_delay);
virtual uint32_t getFillLevel();
enum { STATUS_FILLING=2, STATUS_UNDERFLOW };