Commit graph

217 commits

Author SHA1 Message Date
Alexander Levin
7f7a2d3b13 Rename 'mp3entry.embed_cuesheet' to 'mp3entry.embedded_cuesheet' and pull out a field (FS#12473)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31406 a1c6a512-1295-4272-9138-f99709370657
2011-12-22 18:56:11 +00:00
Alexander Levin
63c4ef9f57 Rename 'mp3entry.embed_albumart' to 'mp3entry.has_embedded_albumart' (FS#12470). No functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31405 a1c6a512-1295-4272-9138-f99709370657
2011-12-22 18:48:43 +00:00
Nick Peskett
1b781df59c Convert hard-coded unicode byte order mark values to constants.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31374 a1c6a512-1295-4272-9138-f99709370657
2011-12-20 08:15:36 +00:00
Nick Peskett
f53c04b766 Make embedded cuesheet type 1 text encoding check slightly more efficient
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31363 a1c6a512-1295-4272-9138-f99709370657
2011-12-19 15:19:07 +00:00
Nick Peskett
dc07503ad4 I forgot to flip the true response from memcmp
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31350 a1c6a512-1295-4272-9138-f99709370657
2011-12-18 02:08:10 +00:00
Nick Peskett
6aa070268f Type 1 text encoding uses BOM to decide byte order, type 2 has no BOM and is BE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31349 a1c6a512-1295-4272-9138-f99709370657
2011-12-18 01:43:55 +00:00
Nick Peskett
ae90b29dcb Hard code the cuesheet offset for double byte encoding, rather than pointless calculation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31348 a1c6a512-1295-4272-9138-f99709370657
2011-12-18 00:00:41 +00:00
Boris Gjenero
17ed3253fc Add const to global pointers to strings.
When a global pointer is not declared as constant, gcc will put it in
memory. Getting the address of the string it points to requires loading
the address of the pointer and then loading the pointer. When the pointer
is declared constant, the address of the string is loaded directly.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31345 a1c6a512-1295-4272-9138-f99709370657
2011-12-17 18:31:55 +00:00
Nick Peskett
02fd314a0b FS #12419 : Support for embedded cuesheets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31321 a1c6a512-1295-4272-9138-f99709370657
2011-12-16 10:09:41 +00:00
Boris Gjenero
bda8a963ad Add conditionals for functions only needed on SWCODEC targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31296 a1c6a512-1295-4272-9138-f99709370657
2011-12-15 20:58:14 +00:00
Andree Buschmann
bdaac8ba04 Rockbox does not support encrypted ADX. Clearly state this in the manual and the debug messages.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31094 a1c6a512-1295-4272-9138-f99709370657
2011-11-29 20:36:11 +00:00
Andree Buschmann
16d736d3c7 Make embedded cover art for APEv2 more flexible. This fixes an issue with foobar-tagged files as reported in the forums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31091 a1c6a512-1295-4272-9138-f99709370657
2011-11-29 18:38:35 +00:00
Bertrik Sikken
227c7af9b3 More de-tabification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30735 a1c6a512-1295-4272-9138-f99709370657
2011-10-08 14:24:17 +00:00
Magnus Holmgren
e995d01570 Fix FS#12266, by skipping empty frames when reading ID3v2 tags. Also add some length checks to be safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30550 a1c6a512-1295-4272-9138-f99709370657
2011-09-14 17:30:45 +00:00
Nils Wallménius
3aeb7fad9a FS#12163 by Sean Bartell
get_long_be shifts an unsigned char left--which results in a signed int.
It then implicitly casts to unsigned long, which sign-extends the int,
leaving unwanted 1's in the upper bits. This affects AIFF.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30364 a1c6a512-1295-4272-9138-f99709370657
2011-08-27 12:34:21 +00:00
Bertrik Sikken
b127949860 libgme: make local functions static where possible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30280 a1c6a512-1295-4272-9138-f99709370657
2011-08-11 19:04:28 +00:00
Andree Buschmann
acb0917556 Submit initial patch from FS#12176. Adds support for several new game music formats (AY, GBS, HES, KSS, SGC, VGM and VGZ) and replaces the current NSF and NSFE with a new implementation based on a port of the Game Music Emu library 'GME'. This first submit does not cover the full functionality provided by the author's original patch: Coleco-SGV is not supported, some GME-specific m3u-support has been removed and IRAM is not used yet. Further changes are very likely to follow this submit. Thanks to Mauricio Garrido.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30264 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 20:01:04 +00:00
Andree Buschmann
93c6f1329a Submit FS#12218. Add support for embedded album art for ASF tags. For now the support is limited to embedded pictures of max 64 KB size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30263 a1c6a512-1295-4272-9138-f99709370657
2011-08-07 15:23:57 +00:00
Andree Buschmann
a668072d9e Fix replaygain for wma files which was broken since r29388.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30259 a1c6a512-1295-4272-9138-f99709370657
2011-08-06 09:20:52 +00:00
Andree Buschmann
5dfc343a24 Submit FS#12196. Adds support for embedded album art (jpg) with APEv2 tags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30210 a1c6a512-1295-4272-9138-f99709370657
2011-07-25 10:37:51 +00:00
Andree Buschmann
1a1ac92f45 Use id3v2buf to read the title of MOD files. Avoids additional declaration of a 1KB buffer and saves a bit codesize as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30105 a1c6a512-1295-4272-9138-f99709370657
2011-06-30 18:39:13 +00:00
Andree Buschmann
9af2ca7340 Remove tabs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29813 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 20:33:31 +00:00
Andree Buschmann
f7c4594134 Fix further 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29809 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 13:48:28 +00:00
Michael Sevakis
ac724cca19 Get the NSF internal playlists working again. Fix a few wrongdoings in the metadata parser. Use the larger of track or playlist count to determine 'duration' so that the repeat-one switching to access the raw tracks works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29793 a1c6a512-1295-4272-9138-f99709370657
2011-04-28 02:56:28 +00:00
Michael Sevakis
4170ac8ac6 Fix r29790 yellow. Need 'string-extra.h' for strlcpy().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29791 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 17:06:52 +00:00
Michael Sevakis
3d9c062822 Get NSF fixed up a bit and parse metadata in the core.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29790 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 16:46:27 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Björn Stenberg
2d00f0c8b2 Removed some dead code identified by clang-analyzer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29685 a1c6a512-1295-4272-9138-f99709370657
2011-04-06 21:08:31 +00:00
Andree Buschmann
3706d6d0b5 Hopefully fix red now and reduce binsize for HWCODEC targets. This change implements a local read_uint32be() function within the mp3data parser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29606 a1c6a512-1295-4272-9138-f99709370657
2011-03-16 21:57:16 +00:00
Andree Buschmann
ea61fb8023 Fix red. read_uint32be() was not implemented in sim builds for HWCODEC targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29605 a1c6a512-1295-4272-9138-f99709370657
2011-03-16 21:24:07 +00:00
Andree Buschmann
c24c3ebe0f Disable debug output in wave format parser by default.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29592 a1c6a512-1295-4272-9138-f99709370657
2011-03-15 20:27:26 +00:00
Andree Buschmann
d9e85475c5 Submit FS#12009. Add embedded album art support for m4a. Thanks to Jason Yu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29591 a1c6a512-1295-4272-9138-f99709370657
2011-03-15 20:17:28 +00:00
Andree Buschmann
41658bd07a Remove some useless code and variables in the area of metadata parsing. Bump codec API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29438 a1c6a512-1295-4272-9138-f99709370657
2011-02-27 20:49:08 +00:00
Andree Buschmann
71ceac0b74 FS#11964. Rework replaygain handling to save metadata buffer and binsize. Remove string representation of replaygain and use a dedicated ftoa implementation for WPS/screen info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29388 a1c6a512-1295-4272-9138-f99709370657
2011-02-24 19:10:59 +00:00
Andree Buschmann
6cc02bca06 Submit FS11960. Limit metadata item size like done for ID3 tags since r29174.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29377 a1c6a512-1295-4272-9138-f99709370657
2011-02-22 07:52:21 +00:00
Andree Buschmann
1203befa08 Proper initialize dummy destination address to ensure correct functionality for replaygain in mp4 metadata.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29376 a1c6a512-1295-4272-9138-f99709370657
2011-02-22 07:44:15 +00:00
Andree Buschmann
6bc704e92a Fix FS#11956. Call parse_replaygain() with correct parameters in ID3 tag parsing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29375 a1c6a512-1295-4272-9138-f99709370657
2011-02-22 07:11:11 +00:00
Andree Buschmann
588b892785 Fix FS#11955. ID3 tag parser was broken since r29349. Trimming strings must be done in the helper functions, not outside.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29372 a1c6a512-1295-4272-9138-f99709370657
2011-02-21 21:35:41 +00:00
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
Thomas Martitz
82eec87dd6 Fix red. Not all targets have album art support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29260 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:22:55 +00:00
Thomas Martitz
f577a6a22c Embedded album art support in MP3/ID3v2 tags.
- Support is limited to non-desync jpeg in id3v2 tags. Other formats (hopefully) follow in the future.
- Embedded album art takes precedence over files in album art files.
- No additional buffers are used, the jpeg is read directly from the audio file.

Flyspray: FS#11216
Author: Yoshihisa Uchida and I

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29259 a1c6a512-1295-4272-9138-f99709370657
2011-02-09 20:13:13 +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