diff options
author | Dave Bryant <bryant@rockbox.org> | 2005-06-30 06:09:59 +0000 |
---|---|---|
committer | Dave Bryant <bryant@rockbox.org> | 2005-06-30 06:09:59 +0000 |
commit | 1983738ea11e3b8706bab5a1e8efe5ee947bfa4f (patch) | |
tree | 294f68fe3925d47a2b006a31b98ef2f6c35c967e | |
parent | bc9a378c4f25dccbf3cc3937357a31298f2cf845 (diff) | |
download | rockbox-1983738ea11e3b8706bab5a1e8efe5ee947bfa4f.tar.gz rockbox-1983738ea11e3b8706bab5a1e8efe5ee947bfa4f.zip |
Not sure if this is the right way to make "resume" work correctly for WavPack,
but it seems to work and if it's wrong it should only affect WavPack...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6938 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/codecs/wavpack.c | 4 | ||||
-rw-r--r-- | apps/playback.c | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/apps/codecs/wavpack.c b/apps/codecs/wavpack.c index 0da8a89027..39b8514fe5 100644 --- a/apps/codecs/wavpack.c +++ b/apps/codecs/wavpack.c | |||
@@ -33,7 +33,9 @@ static long temp_buffer [BUFFER_SIZE] IDATA_ATTR; | |||
33 | 33 | ||
34 | static long read_callback (void *buffer, long bytes) | 34 | static long read_callback (void *buffer, long bytes) |
35 | { | 35 | { |
36 | return ci->read_filebuf (buffer, bytes); | 36 | long retval = ci->read_filebuf (buffer, bytes); |
37 | ci->id3->offset = ci->curpos; | ||
38 | return retval; | ||
37 | } | 39 | } |
38 | 40 | ||
39 | #ifndef SIMULATOR | 41 | #ifndef SIMULATOR |
diff --git a/apps/playback.c b/apps/playback.c index a89441f02a..8b4cc6eab6 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -811,6 +811,15 @@ bool audio_load_track(int offset, bool start_play, int peek_offset) | |||
811 | ci.curpos = offset; | 811 | ci.curpos = offset; |
812 | tracks[track_widx].start_pos = offset; | 812 | tracks[track_widx].start_pos = offset; |
813 | } | 813 | } |
814 | else if (tracks[track_widx].id3.codectype==AFMT_WAVPACK) { | ||
815 | lseek(fd, offset, SEEK_SET); | ||
816 | tracks[track_widx].id3.offset = offset; | ||
817 | tracks[track_widx].id3.elapsed = tracks[track_widx].id3.length / 2; | ||
818 | tracks[track_widx].filepos = offset; | ||
819 | tracks[track_widx].filerem = tracks[track_widx].filesize - offset; | ||
820 | ci.curpos = offset; | ||
821 | tracks[track_widx].start_pos = offset; | ||
822 | } | ||
814 | } | 823 | } |
815 | 824 | ||
816 | if (start_play) { | 825 | if (start_play) { |