From 66c9b274b77c738f24a0536d7e3144e4158e98d1 Mon Sep 17 00:00:00 2001 From: Buschel Date: Sat, 2 Oct 2010 17:43:36 +0000 Subject: [PATCH] Finally fix FS#11476 (data abort when playing some sv8 mpc files on lowmem targets like Clip+/Fuzev1/Fuzev2). This fix disables loading of seek tables from the sv8 bitstream. Those table are located at the end of sv8-files. When playing sv8 files this resulted in seek to filebegin, then fileend, then back to filebegin. Such seeking behaviour results in heavy rebuffering when playing files on targets with low RAM. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28197 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libmusepack/mpc_demux.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/codecs/libmusepack/mpc_demux.c b/apps/codecs/libmusepack/mpc_demux.c index 9b47802ac..ea9b4f1a4 100644 --- a/apps/codecs/libmusepack/mpc_demux.c +++ b/apps/codecs/libmusepack/mpc_demux.c @@ -239,6 +239,7 @@ static mpc_status mpc_demux_seek_init(mpc_demux * d) return MPC_STATUS_OK; } +/* rockbox: do not use static void mpc_demux_ST(mpc_demux * d) { mpc_uint64_t tmp; @@ -300,15 +301,14 @@ static void mpc_demux_SP(mpc_demux * d, int size, int block_size) mpc_demux_seek(d, (ptr - size) * 8 + cur, 11); st_head_size = mpc_bits_get_block(&d->bits_reader, &b); if (memcmp(b.key, "ST", 2) == 0) { -/* rockbox: not used d->chap_pos = (ptr - size + b.size + st_head_size) * 8 + cur; d->chap_nb = -1; -*/ mpc_demux_fill(d, (mpc_uint32_t) b.size, 0); mpc_demux_ST(d); } mpc_demux_seek(d, cur, 11 + block_size); } +*/ /* rockbox: not used static void mpc_demux_chap_find(mpc_demux * d) { @@ -458,10 +458,12 @@ static mpc_status mpc_demux_header(mpc_demux * d) streaminfo_gain(&d->si, &d->bits_reader); else if (memcmp(b.key, "EI", 2) == 0) streaminfo_encoder_info(&d->si, &d->bits_reader); +/* rockbox: do not use else if (memcmp(b.key, "SO", 2) == 0) mpc_demux_SP(d, size, (mpc_uint32_t) b.size); else if (memcmp(b.key, "ST", 2) == 0) mpc_demux_ST(d); +*/ d->bits_reader.buff += b.size; size = mpc_bits_get_block(&d->bits_reader, &b); } -- 2.11.4.GIT