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 bertrik - 2007-11-03
Last edited by lostlogic - 2007-11-04

FS#8077 - MP3 playbacks stops sometimes when usefl nears 0

MP3 playbacks sometimes stops, at that point the usefl value in the buffering thread debug menu is close to 0. Tested using SVN 15412.

Reproduction recipe:
* Use the database to start playback of an album full of mp3s
* Enter the buffering thread debug menu
* Use the scroll wheel to skip forward. This causes the usefl bar to diminish. Continue skipping until it is almost at zero, then let it play down to zero.
* About every other time, the playback completely stops at this point. During playback, the pcm, alloc and real bars were nearly full. When the problem occurs, the real bar is suddenly empty and the pcm quickly drops down to 0, then playback stops. Usefl shows a low number (not 0), like 16k or 18k.
* The Sansa is in a confused state now, stopping the song causes a hang, shutting down shows the ‘shutting down…’ splash but takes very long (15 sec or so).

This may be related to  FS#8037 ,  FS#8073 ,  FS#8074  because symptoms appear to be similar.

Attached are two logf’s (logf enabled in playback.c and buffering.c).

Closed by  lostlogic
2007-11-04 05:55
Reason for closing:  Fixed
Additional comments about closing:  

It is possible to kill gremlins.

I tested some newer versions from last night:
* Up to SVN 15424 the problem remains
* For SVN 15425 and later, I cannot reproduce this problem anymore

However, the usefl bar is now mostly empty instead of mostly full when playing/skipping forward.
The amount of usefl data seems to be equal to the size of the currently playing mp3.

Thanks for the quick test update bertrik. So there’s still definitely a problem on Sansa where it doesn’t fill the buffer completely, but we’re getting closer to resolved ;) I actually think I dreamt the solution here.

Crap, this happens outside of sansa, at least i can reproduce this new part.

Here a logf from the problem on a sansa e260, SVN 15436.
About half the time when usefl approaches 0, playback stops. When playback doesn’t stop, usefl correctly fills back up to maximum.

   logf.txt (8.3 KiB)

Here’s another logfile from SVN 15436, now with LOGQUEUES enabled for both playback and buffering.

   logf.txt (8.3 KiB)

Oops, wrong file at 20:08 GMT+1
Here’s the logfile from SVN 15436, now with LOGQUEUES enabled for both playback and buffering.

   logf.txt (7.4 KiB)

Is this the same problem as  FS#8081 ?

First, I want to sincerely thank bertrik, hcs and emeraldd for all of their kind testing support and patience on this bug hunt. We’ve managed to fix probably a dozen small issues with buffering before finally finding the root cause that was preventing it from recovering from even the slightest miscue.

Second, die gremlin die.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing