summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/codecs/wma.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/codecs/wma.c b/apps/codecs/wma.c
index bf11841451..f50b023a92 100644
--- a/apps/codecs/wma.c
+++ b/apps/codecs/wma.c
@@ -321,7 +321,7 @@ enum codec_status codec_main(void)
321 321
322 ci->configure(DSP_SET_SAMPLE_DEPTH, 30); 322 ci->configure(DSP_SET_SAMPLE_DEPTH, 30);
323 323
324 next_track: 324next_track:
325 325
326 /* Wait for the metadata to be read */ 326 /* Wait for the metadata to be read */
327 while (!*ci->taginfo_ready && !ci->stop_codec) 327 while (!*ci->taginfo_ready && !ci->stop_codec)
@@ -373,10 +373,13 @@ enum codec_status codec_main(void)
373 goto done; 373 goto done;
374 } 374 }
375 375
376 /* Deal with any pending seek requests - ignore them */ 376 /* Deal with any pending seek requests */
377 if (ci->seek_time) 377 if (ci->seek_time)
378 { 378 {
379 /* Ignore all seeks for now, unless for the start of the track */
379 ci->seek_complete(); 380 ci->seek_complete();
381 if (ci->seek_time == 1)
382 goto next_track; /* Pretend you never saw this... */
380 } 383 }
381 384
382 res = asf_read_packet(&audiobuf, &audiobufsize, &packetlength, &wfx); 385 res = asf_read_packet(&audiobuf, &audiobufsize, &packetlength, &wfx);