• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Music playback
  • Assigned To
  • Operating System All players
  • Severity Medium
  • Priority Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by lostlogic - 2006-10-17

FS#6199 - Buffering simplifications and bug fixes

Here is a patch that should fix FS5906 as well as possibly other buffering issues, especially relating to rebuffer_and_seek. This needs to be taken through the ringer and I hope that Miika and Steve will take a look before I commit it.

Closed by  lostlogic
2006-10-17 13:00
Reason for closing:  Accepted

This removes the fill_bytesleft variable, allowing us to more completely fill the file buffer, it also simplifies the audio_clear_track_entries functionality and corrects some minor miscalculations in how buffer reading into the currently playing track is handled.

It definitely needs testing with _long_ tracks and surrounding the rebuffer_and_seek functionality (most noteably what happens when you seek backwards from a resumed track, as mentioned in 5906).

Initial testing looks good.

Is the comment “/* Note that this function might yield(). */” still true? Maybe in the track callback function I suppose.

Where were the “minor miscalculations” - just out of interest? Were they caused by the yielding and moving targets?

The minor miscalculations were in the overlap calculation, and they would have been very hard to actually expose, because with the ‘old way’ we never buffered all the way up to the playing track, but now we do.

I believe that comment is indeed now obsolete.


Available keyboard shortcuts


Task Details

Task Editing