summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2010-11-01 20:43:17 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2010-11-01 20:43:17 +0000
commit5245c9254ae3d62ffd187ed66d443b1e58724b1e (patch)
treefca52cb6ea2f79814906926290ba92b85ea3b5b7
parent029eb885adfc41bcb48f10bd68adcc83e9ffd719 (diff)
Fix FS#11710. On Coldfire CPU's mpc uses a speed optimization which was not correctly re-initialized when rebuffering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28437 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/codecs/libmusepack/mpc_demux.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/apps/codecs/libmusepack/mpc_demux.c b/apps/codecs/libmusepack/mpc_demux.c
index 42f6cecd21..e4ae0f89d3 100644
--- a/apps/codecs/libmusepack/mpc_demux.c
+++ b/apps/codecs/libmusepack/mpc_demux.c
@@ -101,6 +101,9 @@ mpc_demux_fill(mpc_demux * d, mpc_uint32_t min_bytes, int flags)
memmove(d->buffer + offset, d->bits_reader.buff, unread_bytes);
d->bits_reader.buff = d->buffer + offset;
d->bytes_total = unread_bytes + offset;
+ /* reset Coldfire optimized read when rebuffering */
+ d->bits_reader.buffered_addr = 0;
+ d->bits_reader.buffered_code = 0;
}
bytes2read = d->r->read(d->r, d->buffer + d->bytes_total, bytes2read);
if (flags & MPC_BUFFER_SWAP){