Commit graph

37 commits

Author SHA1 Message Date
Andree Buschmann
a7e25a01ba FS#11920: Do not overwrite already existing metadata and take into account string termination. This can save several bytes of the metadata buffer when tags have multiple entries (e.g. multiple gerne tags)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29349 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 16:12:05 +00:00
Andree Buschmann
ae32e1ef06 Ensure proper initialization of some variables and arrays in metadata parsing. Fixes FS#11948.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29323 a1c6a512-1295-4272-9138-f99709370657
2011-02-17 18:35:24 +00:00
Andree Buschmann
2f3ab5fa22 Correct the metadata's VBR flag for MP4 files. ALAC is native VBR, AAC very unlikely is CBR. The VBR flag is used by several WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29313 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:59:22 +00:00
Andree Buschmann
526bee6266 2nd try: All AAC-HE files will double the frame sample count, not only AAC-HE files with SBR upsampling. This change fixes issues with some m4a files reported in the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29312 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:26:04 +00:00
Andree Buschmann
e3abdb1a52 Undo unwanted commit r29310.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29311 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:10:50 +00:00
Andree Buschmann
237ca504e1 All AAC-HE files will double the frame sample count, not only AAC-HE files with SBR upsampling. This change fixes issues with some m4a files reported in the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29310 a1c6a512-1295-4272-9138-f99709370657
2011-02-15 20:00:28 +00:00
Andree Buschmann
4e74494d57 Changes in m4a parser: The metadata (e.g. sampling rate) for alac and aac must read from their dedicated metadata atom. Otherwise there might be wrong settings used. This patch also adds (commented) code which enables parsing for an alac metadata atom if neccessary. I have several sample files which require such parsing to find the metadata atom. Fixes FS#11719.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29201 a1c6a512-1295-4272-9138-f99709370657
2011-02-03 09:23:04 +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
Andree Buschmann
35bcdef144 Find a more consistent and resilient way to handle SBR upsampled files. The detection is only done in one place (the metadata parser) and takes into account that the m4a header might already report corrected frame/sample sizes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29188 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 15:12:55 +00:00
Andree Buschmann
4343399473 Recognize AAC-HE SBR with upsampling and correct duration, bitrate, seek and resume behaviour for such files. When SBR upsampling is used the decoder outputs the double amount of samples per frame. As the seek and resume functions do not know about this fact a special handling is introduced. Fixes issues reported in FS#11916.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29186 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 09:38:24 +00:00
Andree Buschmann
0a93396cde Do not parse into 'ilst' atom if size is 0. Fixes playability issue in FS#11916.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29185 a1c6a512-1295-4272-9138-f99709370657
2011-02-02 09:28:48 +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
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
2e28c1853b Unify fourcc macro and some style changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23664 a1c6a512-1295-4272-9138-f99709370657
2009-11-18 17:30:42 +00:00
Marcoen Hirschberg
c48af23c7e add gapless playback for Nero encoded AAC files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22984 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 13:47:12 +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
Andrew Mahone
fd7002ae6c Attempt to fix yellow on sims (can't reproduce on my system).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20954 a1c6a512-1295-4272-9138-f99709370657
2009-05-16 02:06:22 +00:00
Dave Chapman
da3dc455f6 Change the type of read_uint32be to uint32_t and ensure all variables passed to that function are also of that type. No functional changes, but makes read_uint32be consistent with the other read_* functions and prevents warning in the upcoming RealAudio metadata parser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20950 a1c6a512-1295-4272-9138-f99709370657
2009-05-15 22:45:03 +00:00
Magnus Holmgren
c54ddbd78c MP4/AAC: Add support for album artist tags written by Foobar2000. Closes FS#9723.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19669 a1c6a512-1295-4272-9138-f99709370657
2009-01-04 17:41:17 +00:00
Björn Stenberg
51b45d5602 Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18814 a1c6a512-1295-4272-9138-f99709370657
2008-10-15 06:38:51 +00:00
Robert Keevil
2c170356f3 FS#9139 - support for ver 1.1 scrobbler log files. Upload any old files first - uploading software may need updating, see the LastFMLog wiki page
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18732 a1c6a512-1295-4272-9138-f99709370657
2008-10-07 18:39:44 +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
Bertrik Sikken
1273f95dab Added missing header file metadata_parsers.h to metadata parsers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17308 a1c6a512-1295-4272-9138-f99709370657
2008-05-03 07:03:59 +00:00
Bertrik Sikken
2843469876 Moved atoi declaration to stdlib.h. Deleted atoi.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17280 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 16:18:04 +00:00
Magnus Holmgren
9146f20ea2 MP4 tag parser: guard against problems when the buffer is full.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15105 a1c6a512-1295-4272-9138-f99709370657
2007-10-14 13:27:01 +00:00
Daniel Stenberg
c61e462ae3 read_mp4_tag_string() may return a NULL in the pointer so no code should rely
on the pointer being valid unless the return code is checked. This lead to the
year_string being accessed with atoi() even when being NULL => crash. This
fixes FS#7937.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15080 a1c6a512-1295-4272-9138-f99709370657
2007-10-11 22:53:08 +00:00
Magnus Holmgren
c5683b3c18 Correct another copyright line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14450 a1c6a512-1295-4272-9138-f99709370657
2007-08-24 12:40:31 +00:00
Dan Everton
eecfe9f1cb Add support for grouping tags. From FS#7362.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14242 a1c6a512-1295-4272-9138-f99709370657
2007-08-08 10:19:56 +00:00
Dan Everton
60aeda07cc Fix ID3 struct member name for discnum in mp4 metadata parser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14155 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 10:06:52 +00:00
Dan Everton
f4a61f0c4a Add support for parsing the disc number tag from metadata and use of it in the database. Patch originally from FS#4961 with some minor tweaks by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14154 a1c6a512-1295-4272-9138-f99709370657
2007-08-03 10:00:42 +00:00
Magnus Holmgren
b1d07b465c MP4: Add support for comment and year tags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13998 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 11:59:48 +00:00
Magnus Holmgren
277ee08703 MP4: Fix a sign error preventing some files from playing (e.g., if tagged by MusicBrainz).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13973 a1c6a512-1295-4272-9138-f99709370657
2007-07-24 20:40:10 +00:00
Magnus Holmgren
cfe00130a8 Add support for text-format genres in .mp4 files (AAC/ALAC).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13960 a1c6a512-1295-4272-9138-f99709370657
2007-07-22 21:16:52 +00:00
Dan Everton
708ac7feb3 Support aART (album artist) MP4 atom.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13709 a1c6a512-1295-4272-9138-f99709370657
2007-06-25 11:15:44 +00:00
Marcoen Hirschberg
2175d1edf6 split up the metadata parser
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13637 a1c6a512-1295-4272-9138-f99709370657
2007-06-16 18:19:51 +00:00