Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: Fast forward and reverse
From: Matt.OReilly_at_wachovia.com
Date: 2002-05-28


That sounds like a very good solution, and much simpler than what I had in
mind.

I think the next logical step then is to make sure we read enough data when
rewinding. Currently it seems that the Archos only gets about 2 seconds of
the already-played song to replay; this should be increased to a larger
amount, IMO. That way repeated rewinds will not need separate disk reads
to function.

I leave it to you to determine the optimum amount of data to read from the
disk should that be necessary. It seems to me that the entire 2mb should
not be filled - I know for myself, trying to learn a guitar/bass riff,
sometimes I go over the same space dozens (hundreds?) of times, so I
wouldn't want to have to read the disk each time I went over that space.

Oh, that reminds me... has anyone requested a 1/2x, 1/4x, etc., playback
speed yet? I'd love to be able to play a song at 1/4 or 1/16 speed without
pitch modulation. I don't know what's required for that, but it would be
nice...

Thx
Matt

                                                                                                                     
                    Björn Stenberg
                    <bjorn_at_haxx.se> To: rockbox_at_cool.haxx.se
                    Sent by: cc:
                    owner-rockbox_at_co Subject: Re: Fast forward and reverse
                    ol.haxx.se
                                                                                                                     
                                                                                                                     
                    05/28/2002 09:23
                    AM
                    Please respond
                    to rockbox
                                                                                                                     
                                                                                                                     

Matt.OReilly_at_wachovia.com wrote:

> Perhaps a portion of the cache can be reserved for already-played
> material? They have a 2mb cache, correct? I would speculate that
> reserving 0.5mb would be more than enough for most people, about 30
> seconds for going backwards.

The downside to this approach is that we will then have 30 seconds less
buffer for normal playback, resulting in shorter battery life.

I think the simplest method will probably suffice. Currently we keep one
play and one read pointer in the mp3 buffer. That is, one pointer for
where the playback is currently and one for where the end of read data is:

        Read pointer Play pointer
          | |
----------+-------------------------------+-----------
Start End

When rewinding, we will be able to reuse all data to the left of "play",
all the way back to "read". This amount will vary depending on when the
last disk read was performed. If done very recently, the play pointer will
be very close to the read pointer:

        Read Play
          | |
----------+----+--------------------------------------
Start End

In this case, we can only rewind a little before having to read data from
disk.

This way, we don't have to design a special system for rewinding. We just
use what we already have, but still get a better result than the Archos
firmware.

--
Björn



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa