diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-11 18:05:16 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-11 18:05:16 +0000 |
| commit | a380d90b98e6f36f892d125ce8dea4a8ced9d801 (patch) | |
| tree | eb748817036dd415d6d5def40b67b529bd9ee94f | |
| parent | 7527bfb4d6c49ad6ab6b89e636122e56ec16be34 (diff) | |
| download | rockbox-a380d90b98e6f36f892d125ce8dea4a8ced9d801.zip rockbox-a380d90b98e6f36f892d125ce8dea4a8ced9d801.tar.gz rockbox-a380d90b98e6f36f892d125ce8dea4a8ced9d801.tar.bz2 rockbox-a380d90b98e6f36f892d125ce8dea4a8ced9d801.tar.xz | |
Fixed MP3 forward seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6679 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/playback.c | 5 | ||||
| -rw-r--r-- | apps/plugins/codecmpa.c | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/playback.c b/apps/playback.c index 028c4c9..245db3b 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -137,7 +137,6 @@ struct track_info { volatile int available; bool taginfo_ready; int playlist_offset; - int elapsed_start; }; /* Track information (count in file buffer, read/write indexes for @@ -201,7 +200,6 @@ void codec_set_elapsed_callback(unsigned int value) #else latency = 0; #endif - value += cur_ti->elapsed_start; if (value < latency) { cur_ti->id3.elapsed = 0; } else if (value - latency > cur_ti->id3.elapsed @@ -673,7 +671,6 @@ bool audio_load_track(int offset, bool start_play, int peek_offset) lseek(fd, offset, SEEK_SET); tracks[track_widx].id3.offset = offset; mp3_set_elapsed(&tracks[track_widx].id3); - tracks[track_widx].elapsed_start = tracks[track_widx].id3.elapsed; tracks[track_widx].filepos = offset; tracks[track_widx].filerem = tracks[track_widx].filesize - offset; ci.curpos = offset; @@ -1038,6 +1035,8 @@ void audio_update_trackinfo(void) } ci.filesize = cur_ti->filesize; + cur_ti->id3.elapsed = 0; + cur_ti->id3.offset = 0; ci.id3 = (struct mp3entry *)&cur_ti->id3; ci.mp3data = (struct mp3info *)&cur_ti->mp3data; ci.curpos = 0; diff --git a/apps/plugins/codecmpa.c b/apps/plugins/codecmpa.c index bf6cf3f..86211df 100644 --- a/apps/plugins/codecmpa.c +++ b/apps/plugins/codecmpa.c @@ -244,7 +244,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm) first = false; #endif - samplesdone = 0; first_frame = false; file_end = 0; OutputPtr = OutputBuffer; @@ -257,6 +256,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm) ci->advance_buffer(size); samplecount = ci->id3->length * (ci->id3->frequency / 100) / 10; + samplesdone = ci->id3->elapsed * (ci->id3->frequency / 100) / 10; /* rb->snprintf(buf2, sizeof(buf2), "sc: %d", samplecount); rb->splash(0, true, buf2); rb->snprintf(buf2, sizeof(buf2), "length: %d", ci->id3->length); |