summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshihisa Uchida <uchida@rockbox.org>2010-03-06 08:13:56 +0000
committerYoshihisa Uchida <uchida@rockbox.org>2010-03-06 08:13:56 +0000
commit8050d47a4e2c3a62160d617af1c1ca38382f1319 (patch)
tree77884b13e5bcccb7fad0d55120b49e1b2ae35d3d
parentff733b5f896b76b0678b7cdc178ee805f377b7b4 (diff)
downloadrockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.tar.gz
rockbox-8050d47a4e2c3a62160d617af1c1ca38382f1319.zip
When seek action failed, play time is invalid.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25041 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/aiff.c6
-rw-r--r--apps/codecs/au.c4
-rw-r--r--apps/codecs/smaf.c4
-rw-r--r--apps/codecs/vox.c4
-rw-r--r--apps/codecs/wav.c4
-rw-r--r--apps/codecs/wav64.c4
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:
293 /* 2nd args(read_buffer) is unnecessary in the format which AIFF supports. */ 293 /* 2nd args(read_buffer) is unnecessary in the format which AIFF supports. */
294 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL); 294 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL);
295 295
296 decodedsamples = newpos->samples;
297 if (newpos->pos > format.numbytes) 296 if (newpos->pos > format.numbytes)
298 break; 297 break;
299 if (ci->seek_buffer(firstblockposn + newpos->pos)) 298 if (ci->seek_buffer(firstblockposn + newpos->pos))
300 bytesdone = newpos->pos; 299 {
300 bytesdone = newpos->pos;
301 decodedsamples = newpos->samples;
302 }
301 ci->seek_complete(); 303 ci->seek_complete();
302 } 304 }
303 aifbuf = (uint8_t *)ci->request_buffer(&n, format.chunksize); 305 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:
274 /* 2nd args(read_buffer) is unnecessary in the format which Sun Audio supports. */ 274 /* 2nd args(read_buffer) is unnecessary in the format which Sun Audio supports. */
275 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL); 275 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, NULL);
276 276
277 decodedsamples = newpos->samples;
278 if (newpos->pos > format.numbytes) 277 if (newpos->pos > format.numbytes)
279 break; 278 break;
280 if (ci->seek_buffer(firstblockposn + newpos->pos)) 279 if (ci->seek_buffer(firstblockposn + newpos->pos))
281 { 280 {
282 bytesdone = newpos->pos; 281 bytesdone = newpos->pos;
282 decodedsamples = newpos->samples;
283 } 283 }
284 ci->seek_complete(); 284 ci->seek_complete();
285 } 285 }
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:
387 if (ci->seek_time) { 387 if (ci->seek_time) {
388 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); 388 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer);
389 389
390 decodedsamples = newpos->samples;
391 if (newpos->pos > format.numbytes) 390 if (newpos->pos > format.numbytes)
392 break; 391 break;
393 if (ci->seek_buffer(firstblockposn + newpos->pos)) 392 if (ci->seek_buffer(firstblockposn + newpos->pos))
394 { 393 {
395 bytesdone = newpos->pos; 394 bytesdone = newpos->pos;
395 decodedsamples = newpos->samples;
396 } 396 }
397 ci->seek_complete(); 397 ci->seek_complete();
398 } 398 }
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:
136 if (ci->seek_time) { 136 if (ci->seek_time) {
137 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); 137 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer);
138 138
139 decodedsamples = newpos->samples;
140 if (newpos->pos > format.numbytes) 139 if (newpos->pos > format.numbytes)
141 break; 140 break;
142 if (ci->seek_buffer(firstblockposn + newpos->pos)) 141 if (ci->seek_buffer(firstblockposn + newpos->pos))
143 { 142 {
144 bytesdone = newpos->pos; 143 bytesdone = newpos->pos;
144 decodedsamples = newpos->samples;
145 } 145 }
146 ci->seek_complete(); 146 ci->seek_complete();
147 } 147 }
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:
395 if (ci->seek_time) { 395 if (ci->seek_time) {
396 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); 396 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer);
397 397
398 decodedsamples = newpos->samples;
399 if (newpos->pos > format.numbytes) 398 if (newpos->pos > format.numbytes)
400 break; 399 break;
401 if (ci->seek_buffer(firstblockposn + newpos->pos)) 400 if (ci->seek_buffer(firstblockposn + newpos->pos))
402 { 401 {
403 bytesdone = newpos->pos; 402 bytesdone = newpos->pos;
403 decodedsamples = newpos->samples;
404 } 404 }
405 ci->seek_complete(); 405 ci->seek_complete();
406 } 406 }
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:
402 if (ci->seek_time) { 402 if (ci->seek_time) {
403 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer); 403 struct pcm_pos *newpos = codec->get_seek_pos(ci->seek_time, &read_buffer);
404 404
405 decodedsamples = newpos->samples;
406 if (newpos->pos > format.numbytes) 405 if (newpos->pos > format.numbytes)
407 break; 406 break;
408 if (ci->seek_buffer(firstblockposn + newpos->pos)) 407 if (ci->seek_buffer(firstblockposn + newpos->pos))
409 { 408 {
410 bytesdone = newpos->pos; 409 bytesdone = newpos->pos;
410 decodedsamples = newpos->samples;
411 } 411 }
412 ci->seek_complete(); 412 ci->seek_complete();
413 } 413 }