codec: flac: fix playback of certain files
rockbox-gerrit-noreply--- via rockbox-cvs <[email protected]> Thu, 23 Jul 2026 21:06:49 -0400
| Newsgroups | gmane.comp.systems.archos.rockbox.cvs |
|---|---|
| Message-ID | <[email protected]> |
commit 958e84c042fe8f0392b89317711fcc73bd573e64 Author: Roman Artiukhin <[email protected]> Date: Thu Jul 23 19:41:40 2026 +0300 codec: flac: fix playback of certain files Use flac_seek by time even when elapsedtime is 0, and apply it as a fallback for failed offset seeks since it provides more robust error recovery. Change-Id: I438888fba02bda38137f3f1347bb1f657ef9c166 diff --git a/lib/rbcodec/codecs/flac.c b/lib/rbcodec/codecs/flac.c index 0a9d535c3e..00d4dd71ca 100644 --- a/lib/rbcodec/codecs/flac.c +++ b/lib/rbcodec/codecs/flac.c @@ -490,9 +490,7 @@ enum codec_status codec_run(void) ci->configure(DSP_SET_STEREO_MODE, fc.channels == 1 ? STEREO_MONO : STEREO_NONINTERLEAVED); codec_set_replaygain(ci->id3); - - if (samplesdone || !elapsedtime) { - flac_seek_offset(&fc, samplesdone); + if (samplesdone && flac_seek_offset(&fc, samplesdone)) { samplesdone=fc.samplenumber+fc.blocksize; elapsedtime=((uint64_t)samplesdone*1000)/(ci->id3->frequency); } -- rockbox-cvs mailing list [email protected] https://lists.haxx.se/mailman/listinfo/rockbox-cvs