summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorHardeep Sidhu <dyp@pobox.com>2003-08-29 04:36:35 +0000
committerHardeep Sidhu <dyp@pobox.com>2003-08-29 04:36:35 +0000
commit4160b75456bc42adaa0857bf62fa89f01ba951d2 (patch)
tree6df5ae025d188425b59ba6c36b91b9470484977e /firmware
parent20ac4a281af78077ce56271e11d11e151fe9cd3e (diff)
downloadrockbox-4160b75456bc42adaa0857bf62fa89f01ba951d2.zip
rockbox-4160b75456bc42adaa0857bf62fa89f01ba951d2.tar.gz
rockbox-4160b75456bc42adaa0857bf62fa89f01ba951d2.tar.bz2
rockbox-4160b75456bc42adaa0857bf62fa89f01ba951d2.tar.xz
Pass actual time instead of offset to mpeg_ff_rewind. Fixes ff/rew to wrong time when mpeg thread is busy loading data.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3943 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/mpeg.h2
-rw-r--r--firmware/mpeg.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h
index 9f266bf..bdf65dd 100644
--- a/firmware/export/mpeg.h
+++ b/firmware/export/mpeg.h
@@ -67,7 +67,7 @@ void mpeg_pause(void);
void mpeg_resume(void);
void mpeg_next(void);
void mpeg_prev(void);
-void mpeg_ff_rewind(int change);
+void mpeg_ff_rewind(int newtime);
void mpeg_flush_and_reload_tracks(void);
void mpeg_sound_set(int setting, int value);
int mpeg_sound_min(int setting);
diff --git a/firmware/mpeg.c b/firmware/mpeg.c
index ec5a8b3..347e8de 100644
--- a/firmware/mpeg.c
+++ b/firmware/mpeg.c
@@ -1497,7 +1497,7 @@ static void mpeg_thread(void)
case MPEG_FF_REWIND: {
struct mp3entry *id3 = mpeg_current_track();
unsigned int oldtime = id3->elapsed;
- unsigned int newtime = oldtime + (int)ev.data;
+ unsigned int newtime = (unsigned int)ev.data;
int curpos, newpos, diffpos;
DEBUGF("MPEG_FF_REWIND\n");
@@ -2450,12 +2450,12 @@ void mpeg_prev(void)
#endif
}
-void mpeg_ff_rewind(int change)
+void mpeg_ff_rewind(int newtime)
{
#ifndef SIMULATOR
- queue_post(&mpeg_queue, MPEG_FF_REWIND, (void *)change);
+ queue_post(&mpeg_queue, MPEG_FF_REWIND, (void *)newtime);
#else
- (void)change;
+ (void)newtime;
#endif
}