summaryrefslogtreecommitdiff
path: root/apps/codecs/libmusepack
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2010-10-02 17:43:36 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2010-10-02 17:43:36 +0000
commit32838e96d0bfb011e8ba06f2cbcb3b2efa33164b (patch)
tree8ec8df4553b85b78323d88ebcc589199aa5a615e /apps/codecs/libmusepack
parent0a7baec5effecc165a8e0b05ec3da82f83264d2b (diff)
downloadrockbox-32838e96d0bfb011e8ba06f2cbcb3b2efa33164b.zip
rockbox-32838e96d0bfb011e8ba06f2cbcb3b2efa33164b.tar.gz
rockbox-32838e96d0bfb011e8ba06f2cbcb3b2efa33164b.tar.bz2
rockbox-32838e96d0bfb011e8ba06f2cbcb3b2efa33164b.tar.xz
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
Diffstat (limited to 'apps/codecs/libmusepack')
-rw-r--r--apps/codecs/libmusepack/mpc_demux.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/codecs/libmusepack/mpc_demux.c b/apps/codecs/libmusepack/mpc_demux.c
index 9b47802..ea9b4f1 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);
}