diff options
| author | Hardeep Sidhu <dyp@pobox.com> | 2003-08-29 04:36:35 +0000 |
|---|---|---|
| committer | Hardeep Sidhu <dyp@pobox.com> | 2003-08-29 04:36:35 +0000 |
| commit | 4160b75456bc42adaa0857bf62fa89f01ba951d2 (patch) | |
| tree | 6df5ae025d188425b59ba6c36b91b9470484977e | |
| parent | 20ac4a281af78077ce56271e11d11e151fe9cd3e (diff) | |
| download | rockbox-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
| -rw-r--r-- | apps/wps.c | 4 | ||||
| -rw-r--r-- | firmware/export/mpeg.h | 2 | ||||
| -rw-r--r-- | firmware/mpeg.c | 8 |
3 files changed, 7 insertions, 7 deletions
@@ -391,7 +391,7 @@ static bool ffwd_rew(int button) case BUTTON_LEFT | BUTTON_REL: case BUTTON_RIGHT | BUTTON_REL: - mpeg_ff_rewind(ff_rewind_count); + mpeg_ff_rewind(id3->elapsed+ff_rewind_count); ff_rewind_count = 0; ff_rewind = false; if (paused) @@ -855,7 +855,7 @@ int wps_show(void) if (!paused) mpeg_pause(); - mpeg_ff_rewind(-(id3->elapsed)); + mpeg_ff_rewind(0); if (!paused) mpeg_resume(); 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 } |