Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Bugs
  • Category Music playback
  • Assigned To
    lostlogic
  • Operating System Sansa e200
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by learman - 2007-11-14
Last edited by learman - 2007-11-27

FS#8158 - A resumed MP3 file does not play to the end.

When resuming an MP3 file, the file is not (always?) played to the end. I’ve noticed it on 64 kbps CBR files, at 22 kHz, that were 2-3.5 MB large. For these, about 15 seconds is missing (I’ve only checked it exactly on one file as of yet). There’s an ID3V2 tag on the files, about 2 kB large, no other tags.

If I skip back to the start of the track, the complete file is played, even after seeking towards the end.

I have not yet seen it on Vorbis files.

Closed by  learman
2007-11-27 17:44
Reason for closing:  Duplicate
Additional comments about closing:  

Fixed by/duplicate of  FS#8092  .

I think tihs may have to do with how the AUDIO_REBUFFER_GUESS_SIZE is applied on resumes.

Does it (by chance) resume the same 16s early that it ends early?

Let me know if r15627 fixes it, I have hope.

Haven’t really checked if it resumes early or not (but I don’t think so). But the change did not fix it. It may have improved things, so that it doesn’t happen as often, but I’ve still encountered it.

Should only happen for MP3, and perhaps WavPack, as all other formats always buffer the full file, even when resuming. Can’t see any obvious causes for this in playback.c or buffering.c though. I’ve been unable to reproduce this in the e200 simulator; I’ll test on my H140 too.

Actually, this probably is a duplicate of  FS#8092 , as I often make a small backward seek after the resume. When I re-read 8092 now, it does describe the behavior I’m seeing (I didn’t quite understand what the problem was on first read of it). Removing the line 1798 in playback.c (”file_offset = offset;”) should reduce the problem in my case, but it is a bit of a hack…

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing