diff options
| author | Yoshihisa Uchida <uchida@rockbox.org> | 2010-03-06 08:13:56 +0000 |
|---|---|---|
| committer | Yoshihisa Uchida <uchida@rockbox.org> | 2010-03-06 08:13:56 +0000 |
| commit | 8050d47a4e2c3a62160d617af1c1ca38382f1319 (patch) | |
| tree | 77884b13e5bcccb7fad0d55120b49e1b2ae35d3d /apps/codecs | |
| parent | ff733b5f896b76b0678b7cdc178ee805f377b7b4 (diff) | |
| download | rockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.zip rockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.tar.gz rockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.tar.bz2 rockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.tar.xz | |
When seek action failed, play time is invalid.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs')
| -rw-r--r-- | apps/codecs/aiff.c | 6 | ||||
| -rw-r--r-- | apps/codecs/au.c | 4 | ||||
| -rw-r--r-- | apps/codecs/smaf.c | 4 | ||||
| -rw-r--r-- | apps/codecs/vox.c | 4 | ||||
| -rw-r--r-- | apps/codecs/wav.c | 4 | ||||
| -rw-r--r-- | apps/codecs/wav64.c | 4 |
6 files changed, 14 insertions, 12 deletions
diff --git a/apps/codecs/aiff.c b/apps/codecs/aiff.c index e4d1059..3ad6ecf 100644 --- a/apps/codecs/aiff.c +++ b/apps/codecs/aiff.c @@ -293,11 +293,13 @@ next_track: /* 2nd args(read_buffer) is unnecessary in the format which AIFF supports. */ struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) - bytesdone = newpos->pos; + { + bytesdone = newpos->pos; + decodedsamples = newpos->samples; + } ci->seek_complete(); } aifbuf = (uint8_t *)ci->request_buffer(&n, format.chunksize); diff --git a/apps/codecs/au.c b/apps/codecs/au.c index 0f4da3d..cf2a799 100644 --- a/apps/codecs/au.c +++ b/apps/codecs/au.c @@ -274,12 +274,12 @@ next_track: /* 2nd args(read_buffer) is unnecessary in the format which Sun Audio supports. */ struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) { - bytesdone = newpos->pos; + bytesdone = newpos->pos; + decodedsamples = newpos->samples; } ci->seek_complete(); } diff --git a/apps/codecs/smaf.c b/apps/codecs/smaf.c index 019552e..fccb6cb 100644 --- a/apps/codecs/smaf.c +++ b/apps/codecs/smaf.c @@ -387,12 +387,12 @@ next_track: if (ci->seek_time) { struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) { - bytesdone = newpos->pos; + bytesdone = newpos->pos; + decodedsamples = newpos->samples; } ci->seek_complete(); } diff --git a/apps/codecs/vox.c b/apps/codecs/vox.c index 290fae0..f306d8e 100644 --- a/apps/codecs/vox.c +++ b/apps/codecs/vox.c @@ -136,12 +136,12 @@ next_track: if (ci->seek_time) { struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) { - bytesdone = newpos->pos; + bytesdone = newpos->pos; + decodedsamples = newpos->samples; } ci->seek_complete(); } diff --git a/apps/codecs/wav.c b/apps/codecs/wav.c index 412d548..8576ddd 100644 --- a/apps/codecs/wav.c +++ b/apps/codecs/wav.c @@ -395,12 +395,12 @@ next_track: if (ci->seek_time) { struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) { - bytesdone = newpos->pos; + bytesdone = newpos->pos; + decodedsamples = newpos->samples; } ci->seek_complete(); } diff --git a/apps/codecs/wav64.c b/apps/codecs/wav64.c index bd2311c..a9e5ca1 100644 --- a/apps/codecs/wav64.c +++ b/apps/codecs/wav64.c @@ -402,12 +402,12 @@ next_track: if (ci->seek_time) { struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); - decodedsamples = newpos->samples; if (newpos->pos > format.numbytes) break; if (ci->seek_buffer(firstblockposn + newpos->pos)) { - bytesdone = newpos->pos; + bytesdone = newpos->pos; + decodedsamples = newpos->samples; } ci->seek_complete(); } |