Update zsm pcm

This commit is contained in:
Zachary Hall 2024-10-15 15:28:59 -07:00
parent de0422de20
commit 7ee0551c05

View file

@ -88,17 +88,19 @@ class ZsmBackend : public PlaybackBackend {
while (pcm_fifo_avail() < samples && remain > 0) { while (pcm_fifo_avail() < samples && remain > 0) {
if (pcm_read_rate() == 0) break; if (pcm_read_rate() == 0) break;
remain--; remain--;
if (remain == 0) {
if (islooped) {
cur = loop;
remain = loop_rem;
} else {
break;
}
}
size_t oldpos = file->get_pos(); size_t oldpos = file->get_pos();
file->seek((cur++), SeekType::SET); file->seek((cur++), SeekType::SET);
uint8_t sample; uint8_t sample;
file->read(&sample, 1, 1); file->read(&sample, 1, 1);
pcm_write_fifo(sample); pcm_write_fifo(sample);
if (remain == 0) {
if (islooped) {
cur = loop;
remain = loop_rem;
}
}
file->seek(oldpos, SeekType::SET); file->seek(oldpos, SeekType::SET);
} }
samples *= 2; samples *= 2;