From be16edc94b9b44da6b83235fab248fa8a31126fb Mon Sep 17 00:00:00 2001 From: Roman Artiukhin Date: Wed, 24 Jan 2024 11:55:48 +0200 Subject: Codecs: mpa: Use both time and offset when resuming files The supplied time may be more accurate than the calculated time from the bitrate (can be quite inaccurate for long vbr files and even for cbr due to padding) Change-Id: I1f8291eab45fbd91a161b51776c391a0f7886a5c --- lib/rbcodec/codecs/mpa.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/rbcodec/codecs/mpa.c b/lib/rbcodec/codecs/mpa.c index 5fdcb38da8..2c651d11b0 100644 --- a/lib/rbcodec/codecs/mpa.c +++ b/lib/rbcodec/codecs/mpa.c @@ -462,7 +462,14 @@ enum codec_status codec_run(void) } else { ci->seek_buffer(ci->id3->offset); - set_elapsed(ci->id3); + if (ci->id3->elapsed && ci->id3->elapsed < ci->id3->length) + { + ci->set_elapsed(ci->id3->elapsed); + } + else + { + set_elapsed(ci->id3); + } } } else if (ci->id3->elapsed) -- cgit v1.2.3