summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/wma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/codecs/wma.c b/apps/codecs/wma.c
index 17d35bee52..6690db7dba 100644
--- a/apps/codecs/wma.c
+++ b/apps/codecs/wma.c
@@ -481,7 +481,7 @@ next_track:
481 /* Remember the resume position - when the codec is opened, the 481 /* Remember the resume position - when the codec is opened, the
482 playback engine will reset it. */ 482 playback engine will reset it. */
483 resume_offset = ci->id3->offset; 483 resume_offset = ci->id3->offset;
484 484restart_track:
485 if (codec_init()) { 485 if (codec_init()) {
486 LOGF("WMA: Error initialising codec\n"); 486 LOGF("WMA: Error initialising codec\n");
487 retval = CODEC_ERROR; 487 retval = CODEC_ERROR;
@@ -516,6 +516,7 @@ next_track:
516 elapsedtime = 0; 516 elapsedtime = 0;
517 } 517 }
518 518
519 resume_offset = 0;
519 ci->configure(DSP_SWITCH_FREQUENCY, wfx.rate); 520 ci->configure(DSP_SWITCH_FREQUENCY, wfx.rate);
520 ci->configure(DSP_SET_STEREO_MODE, wfx.channels == 1 ? 521 ci->configure(DSP_SET_STEREO_MODE, wfx.channels == 1 ?
521 STEREO_MONO : STEREO_INTERLEAVED); 522 STEREO_MONO : STEREO_INTERLEAVED);
@@ -536,7 +537,7 @@ next_track:
536 537
537 if (ci->seek_time == 1) { 538 if (ci->seek_time == 1) {
538 ci->seek_complete(); 539 ci->seek_complete();
539 goto next_track; /* Pretend you never saw this... */ 540 goto restart_track; /* Pretend you never saw this... */
540 } 541 }
541 542
542 elapsedtime = seek(ci->seek_time, &wfx); 543 elapsedtime = seek(ci->seek_time, &wfx);