summaryrefslogtreecommitdiffstats
path: root/apps/codecs/mpc.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-10-18 06:52:58 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-10-18 06:52:58 +0000
commit127f0695457ca19d8d56bee8e33061132c75d646 (patch)
tree021c041a6928e25d6312843394aceb74d111bc67 /apps/codecs/mpc.c
parent37011258d6b0bfc28f75473505160e8b2b71fdd2 (diff)
downloadrockbox-127f0695457ca19d8d56bee8e33061132c75d646.tar.gz
rockbox-127f0695457ca19d8d56bee8e33061132c75d646.zip
Fixed the playlist skipping with MusePack.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7638 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/mpc.c')
-rw-r--r--apps/codecs/mpc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/codecs/mpc.c b/apps/codecs/mpc.c
index fd551caf7d..ea397e64a0 100644
--- a/apps/codecs/mpc.c
+++ b/apps/codecs/mpc.c
@@ -76,7 +76,7 @@ enum codec_status codec_start(struct codec_api *api)
struct codec_api *ci = api;
mpc_int64_t samplesdone;
unsigned long frequency;
- unsigned status = 1;
+ unsigned status;
mpc_reader reader;
mpc_streaminfo info;
@@ -132,7 +132,7 @@ next_track:
/* This is the decoding loop. */
samplesdone = 0;
- while (status != 0) {
+ do {
if (ci->seek_time) {
mpc_int64_t new_sample_offset = ci->seek_time*info.sample_freq/1000;
if (mpc_decoder_seek_sample(&decoder, new_sample_offset)) {
@@ -156,7 +156,8 @@ next_track:
samplesdone += status;
ci->set_elapsed(samplesdone/(frequency/1000));
}
- }
+ } while (status != 0) ;
+
if (ci->request_next_track())
goto next_track;
return CODEC_OK;