Commit graph

28 commits

Author SHA1 Message Date
Andree Buschmann
fa65362a42 Fix compiler warnings ('variable set ut not used') with GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29792 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 17:59:49 +00:00
Andree Buschmann
2f04e6cca2 Ensure proper termination of m4a lookup table.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29774 a1c6a512-1295-4272-9138-f99709370657
2011-04-24 18:33:39 +00:00
Andree Buschmann
7d1de584fe Minor speed optimization to m4a lookup table build up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29770 a1c6a512-1295-4272-9138-f99709370657
2011-04-23 20:43:47 +00:00
Andree Buschmann
68199cc195 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
2011-04-18 19:12:51 +00:00
Andree Buschmann
7345ac124e Submit FS#11918: Add 2 more codec types to be able to differentiate between AAC / AAC-HE and MPC SV7 / SV8. Additionally handle ATARI soundfiles in get_codec_base_type() as intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29199 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 08:28:23 +00:00
Magnus Holmgren
7c8a49dbff Make M4A demuxer more flexible when handling the stsd atom. Allows file reported in the forum to play.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27938 a1c6a512-1295-4272-9138-f99709370657
2010-08-29 13:48:29 +00:00
Michael Giacomelli
f63570ace5 Add uppercase M4A file type to the mp4 parser. Technically Apple says to use lowercase, but various programs tolerate this, so we can too. Fixes FS#11536.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27805 a1c6a512-1295-4272-9138-f99709370657
2010-08-14 01:09:46 +00:00
Thomas Martitz
35e8b1429a Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently).
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.

Should be no functional change to targets or the simulator.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:53:00 +00:00
Michael Giacomelli
ce8640d7b8 Second part of FS#10832 by Juliusz Chroboczek. Ignore empty mdat chunks in mp4 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24148 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 21:02:13 +00:00
Michael Giacomelli
008c368c87 Commit first part of FS#10832 by Juliusz Chroboczek. Allows playback of unstreamable AAC/ALAC files by stepping through the file to find the index, potientially rebuffering. This is likely to impose a battery life hit on files which are unstreamable and not much smaller then the buffer, but should not impact streamable files at all.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24147 a1c6a512-1295-4272-9138-f99709370657
2010-01-02 20:54:55 +00:00
Magnus Holmgren
6b6463c8b7 Add support for the MP4 file type 'isom'. Based on FS#10790 with an additional fix, making the sample file play. Also updated some debug prints.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23708 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 16:37:36 +00:00
Nils Wallménius
ad9f554eb2 Avoid possible memory corruption
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23666 a1c6a512-1295-4272-9138-f99709370657
2009-11-19 17:12:58 +00:00
Mohamed Tarek
5f5d105755 Change the naming scheme for codecs found in different containers.
Like changing AFMT_AAC to AFMT_MP4_AAC and AFMT_RAAC to AFMT_RM_AAC.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22066 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 12:13:22 +00:00
Bertrik Sikken
8e22f7f5b0 Make local functions static in codecs, where possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19612 a1c6a512-1295-4272-9138-f99709370657
2008-12-29 19:49:48 +00:00
Björn Stenberg
c6b3d38a15 New makefile solution: A single invocation of 'make' to build the entire tree. Fully controlled dependencies give faster and more correct recompiles.
Many #include lines adjusted to conform to the new standards.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19146 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 11:27:31 +00:00
Dave Chapman
aaacb7010f Remove the mallocs for the codecdata in the m4a parser and assume a maximum size of 64 bytes (see comments in source). Also clean up the alac_set_info() function a little and make it alignment-safe. We still need to remove the seektable related mallocs. Please report if any AAC or ALAC files stop playing in Rockbox after this commit - but it is not expected to cause problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15861 a1c6a512-1295-4272-9138-f99709370657
2007-12-01 01:01:35 +00:00
Jens Arnold
bd5c0ad7bb Cast some more to keep both 32 bit and 64 bit simulator platforms happy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12819 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 10:50:58 +00:00
Jens Arnold
f68362ad6f Fix simulator builds, and some debugf() format strings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12817 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 09:54:28 +00:00
Magnus Holmgren
fc1efc7b13 Fix a couple of MP4 demuxing problems, preventing playback in a few cases. All my test files now play properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12161 a1c6a512-1295-4272-9138-f99709370657
2007-01-30 21:42:36 +00:00
Magnus Holmgren
de100c36cb AAC codec: accept M4B files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11681 a1c6a512-1295-4272-9138-f99709370657
2006-12-07 09:24:31 +00:00
Magnus Holmgren
7aab5302ac Make the AAC (and ALAC) codec more flexible when dealing with the MP4 file structure. Should fix some podcasts that don't play.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11680 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 21:37:36 +00:00
Magnus Holmgren
10a9b4ef53 Remove some unneeded code that caused problems for enhanced AAC files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11648 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 13:51:30 +00:00
Magnus Holmgren
38ec5edf26 Improve support for long MP4 files. Twice as long files can now play, and for those that still are too long, exit with a codec failure rather than freeze Rockbox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11471 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 19:54:08 +00:00
Magnus Holmgren
9896fd1ade AAC codec: Improved MP4 file parsing. Should now handle most streamable files. Also some code cleanup and policing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11187 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 17:02:23 +00:00
Dave Chapman
53dc1fefe9 Make the m4a parser happier with Nero-encoded .mp4 files. This still needs more work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7728 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 14:01:27 +00:00
Dave Chapman
e85bbad753 Suppress compiler warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7708 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 21:46:50 +00:00
Dave Chapman
407be69b8c Add capability to parse AAC files in M4A.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7705 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:50:32 +00:00
Dave Chapman
45f9e5d7b0 Remove generic M4A parsing code from libalac and create a libm4a - so it can be used by other codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7682 a1c6a512-1295-4272-9138-f99709370657
2005-10-29 17:12:52 +00:00
Renamed from apps/codecs/libalac/demux.c (Browse further)