summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-04-18 19:12:51 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-04-18 19:12:51 +0000
commit68199cc19557ddb4a4c6357510a196ee6a487846 (patch)
treeabfab8127753b6a602626141552972a205947d1d /firmware
parentb6a68098795b0b6bc4735735e5e55cc9f6454436 (diff)
downloadrockbox-68199cc19557ddb4a4c6357510a196ee6a487846.tar.gz
rockbox-68199cc19557ddb4a4c6357510a196ee6a487846.zip
Major rework of the m4a parser for aac/alac playback, seek and resume support. As a result the memory consumption was drastically reduced. This allows to play several files with long duration -- especially on low memory targets. The change builds a lookup table from m4a's sample_to_chunk[] and chunk_offset[] and completely removes the allocation of the large tables chunk_offset[] and sample_byte_size[]. To be able to remove reading and allocating sample_byte_offset[] the aac and alac decoder now buffer a fixed amount of bytes for each frame. The generated lookup table is used for seek/resume and skipping bytes in empty chunks (aac decoder only). The precision for seek/resume is somewhat lower but still equals 0.5 sec for the worst case. Fixes FS#8923.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29745 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
0 files changed, 0 insertions, 0 deletions