diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2005-10-18 06:52:58 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-10-18 06:52:58 +0000 |
commit | 127f0695457ca19d8d56bee8e33061132c75d646 (patch) | |
tree | 021c041a6928e25d6312843394aceb74d111bc67 /apps/codecs/mpc.c | |
parent | 37011258d6b0bfc28f75473505160e8b2b71fdd2 (diff) | |
download | rockbox-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.c | 7 |
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; |