From 8050d47a4e2c3a62160d617af1c1ca38382f1319 Mon Sep 17 00:00:00 2001 From: Yoshihisa Uchida Date: Sat, 6 Mar 2010 08:13:56 +0000 Subject: When seek action failed, play time is invalid. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/aiff.c | 6 ++++-- apps/codecs/au.c | 4 ++-- apps/codecs/smaf.c | 4 ++-- apps/codecs/vox.c | 4 ++-- apps/codecs/wav.c | 4 ++-- 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 e4d1059ed9..3ad6ecfbbf 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 0f4da3d3bb..cf2a799be6 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 019552ed4b..fccb6cbc64 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 290fae0800..f306d8e1f1 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 412d548817..8576ddda41 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 bd2311cc8e..a9e5ca126a 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(); } -- cgit v1.2.3