FS#2894 - cache refill on FF or REW, even if not necessary

Attached to Project: Rockbox
Opened by Thomas Kobler (kobler) - Sunday, 08 January 2006, 16:18 GMT
Last edited by Daniel Stenberg (bagder) - Friday, 28 April 2006, 09:17 GMT
Task Type Bugs
Category Music playback
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Low
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Recorder V1 with 2 or 8MB, V2.5 and later(incl. 20060108)

When more than one file is in the cache (e.g. filesize
of playing file is less than about 1,5/7,5MB) and
skipping back or forth a few seconds, after releasing
the button, data gets loaded from disk (red LED is
blinking for several seconds) even when the needed data
is still - or is already - in the cache.

This doesn't happen with V2.4.

Becaues the chance of more than one file beeing in the
cache is much less on a 2MB RAM Recorder, it hasn't
been noticed already, I guess. But with the new devices
with bigger RAM sizes it will hurt more.

I had a look at mpeg.c, but all I could find out, is,
that the disk already spins up, when
is *NOT YET REACHED*. And a little later
(!filling && diffpos >= 0 && diffpos < audiobuflen)
is false and also reloads cache.
But than I got lost in ffwd_rew() and audio_ff_rewind()..
This task depends upon

Closed by  Daniel Stenberg (bagder)
Wednesday, 28 June 2006, 13:47 GMT
Reason for closing:  Wont Fix
Additional comments about closing:  This report is somewhat speculative and doesn\'t actually point out any error, just discussiong theories about what Rockbox perhaps could do better in a situation the reporter thinks he experienced.
Comment by Daniel Stenberg (bagder) - Thursday, 30 March 2006, 08:24 GMT
I don't think this issue is of priority "urgent" and I don't think we MUST fix this for 3.0
Comment by Brandon Low (lostlogic) - Thursday, 06 April 2006, 03:20 GMT
Are you sure the data is already in RAM? If you seek back a few seconds, it is possible (if somewhat unlikely) that the data has already been dropped from the buffer. In the same vein, if you seek forward a few seconds, that could trigger a rebuffer event which will drop old data from the buffer and buffer forward in the playlist / file.