diff options
Diffstat (limited to 'apps/codecs')
-rw-r--r-- | apps/codecs/wma.c | 7 |
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: | 324 | next_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); |