Commit graph

47 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
6bab4e8dc0 get_sample_info() has been removed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29771 a1c6a512-1295-4272-9138-f99709370657
2011-04-23 22:28:47 +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
2358fabb70 Optimization to latest aac decoder changes. Significantly reduce loop count in m4a_check_sample_offset() during standard playback. Before this change the loop count increased with each decoded chunk and for each frame.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29750 a1c6a512-1295-4272-9138-f99709370657
2011-04-19 05:55:54 +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
11b7a4fb26 Add a safety check in the resume seek code, just in case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29181 a1c6a512-1295-4272-9138-f99709370657
2011-02-01 20:17:42 +00:00
Andree Buschmann
ee6a74e7e3 We seeked one chunk too far when resuming m4a files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29180 a1c6a512-1295-4272-9138-f99709370657
2011-02-01 19:55:54 +00:00
Andree Buschmann
411023c6be Rework m4a seek/resume code. Seek/resume does now also work properly with files having sample_to_chunk of 1 or 2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29178 a1c6a512-1295-4272-9138-f99709370657
2011-01-31 21:54:50 +00:00
Andree Buschmann
ad6c3bc8c5 Fix resume for m4a files. Solves FS#9306.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29175 a1c6a512-1295-4272-9138-f99709370657
2011-01-31 15:18:26 +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
Michael Giacomelli
d6ae8edc13 Commit both patches in FS#10833 - Protect against division by zero in AAC (mp4) codec by Juliusz Chroboczek. Adds some return value checking so that faad errors don't crash rockbox when decoding broken or unsupported files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23983 a1c6a512-1295-4272-9138-f99709370657
2009-12-14 01:09:01 +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
Jens Arnold
6421f94c0d Silence warning from 'ar' if the archive had to be created.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20151 a1c6a512-1295-4272-9138-f99709370657
2009-03-01 09:04:15 +00:00
Daniel Stenberg
2e6d604bb6 Stop hiding errors by redirecting stderr to /dev/null. If we really need to do re-introduce somewhere we should rather make it dependent on the V variable so that make V=1 would still show the error and only "normal" builds would hide it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20090 a1c6a512-1295-4272-9138-f99709370657
2009-02-23 08:45:16 +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
a091d20ba0 Added 'keywords' and 'eol-style' properties.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19218 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 19:54:23 +00:00
Björn Stenberg
303b455ceb Remove .a files before running ar, to avoid problems with renamed files remaining in the library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19160 a1c6a512-1295-4272-9138-f99709370657
2008-11-20 16:49:55 +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
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +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
Jens Arnold
a796260a6b Next step of Makefile tuning: * Use 'make' internal commands for printing messages. Saves build time especially on cygwin. * SILENT variable used in more places. * Bitmap build system uses one Makefille less.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11369 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 21:48:06 +00:00
Jens Arnold
d1ce4e779e Consistent style of 'make' messages. Always use ranlib after ar.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11322 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 22:33:39 +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
Daniel Stenberg
30461369de settings.h includs button.h that includes target-button.h so we need to make
sure all these knows how to find that include file as otherwise does the
depfile generation break down


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10858 a1c6a512-1295-4272-9138-f99709370657
2006-09-02 21:31:16 +00:00
Magnus Holmgren
9f09a39436 Add resume support to AAC files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10720 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 13:10:48 +00:00
Marcoen Hirschberg
f16c1f341a prevent rockbox from using the wrong includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8827 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 13:48:52 +00:00
Brandon Low
05dccc3551 Profiling support, tools and documentation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8375 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 20:54:13 +00:00
Magnus Holmgren
1b0d1daf38 Codec makefile cleanup: remove redundant things, don't generate dependency files when cleaning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8154 a1c6a512-1295-4272-9138-f99709370657
2005-12-05 19:32:13 +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