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
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
Andree Buschmann
dedde47424
Limit the size of each ID3 metadata item to avoid that the metadata buffer is filled by single items. Fixes FS#11875, FS#9805 and FS#9299.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29174 a1c6a512-1295-4272-9138-f99709370657
2011-01-30 20:23:55 +00:00
Thomas Martitz
01586b5ffe
FS#11828: Fix in core mod parser to blindly accept any .mod you throw at it. Based on MikMod.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29105 a1c6a512-1295-4272-9138-f99709370657
2011-01-21 20:09:22 +00:00
Andree Buschmann
9cb4733193
Fix FS#11858 which was introduced with r28937. Several *.rm were not played because the parser aborted with error for several files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29015 a1c6a512-1295-4272-9138-f99709370657
2011-01-09 21:19:16 +00:00
Mohamed Tarek
506a15bd73
Fix FS#11845 by rejecting unknown header signatures in the audio stream info block. RALF uses a different header signature than ('.', 'r', 'a', 0xfd). Apparently ('L', 'S', 'D', ':').
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28937 a1c6a512-1295-4272-9138-f99709370657
2011-01-01 11:14:03 +00:00
Thomas Martitz
6a9a8197b3
Add stdio.h include for SEEK_SET define to various files.
...
Patch by Thomas Jarosch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28892 a1c6a512-1295-4272-9138-f99709370657
2010-12-25 18:43:34 +00:00
Michael Giacomelli
b3f38bcf63
Correct mistake in the RealMedia parser that prevented rejecting files with unsupported codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28788 a1c6a512-1295-4272-9138-f99709370657
2010-12-11 00:59:57 +00:00
Dave Bryant
809e61b373
remove a little redundant code from the WavPack metadata module to partially make up for the code just added
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28738 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 22:01:28 +00:00
Dave Bryant
516693fcc9
make WavPack library check the extent of the block that it is parsing so that it cannot run into the next block; also enhance the metadata code to handle the case of files with non-audio blocks at the beginning (which can happen if the source WAV file has lots of RIFF data)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28736 a1c6a512-1295-4272-9138-f99709370657
2010-12-05 19:25:32 +00:00
Thomas Martitz
9393e4c24b
Change how all the metadata parsers are read from a giant swich/case to function pointers via array index. Also unify the api.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28672 a1c6a512-1295-4272-9138-f99709370657
2010-11-26 18:02:50 +00:00
Bertrik Sikken
0d100b4dd8
Fix FS# 11414 : .mod files - metadata in incorrect fields
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28228 a1c6a512-1295-4272-9138-f99709370657
2010-10-10 10:24:50 +00:00
Torne Wuff
918e895c12
id3 parser: also add id3v2.2 TCM tag for "composer" since that's the only other tag not in there in 2.2 and 2.3 versions
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28182 a1c6a512-1295-4272-9138-f99709370657
2010-09-28 19:46:15 +00:00
Torne Wuff
f018fbbe18
id3 parser: add id3v2.2 TPA tag for "part of set" as iTunes appears to use it
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28181 a1c6a512-1295-4272-9138-f99709370657
2010-09-28 19:39:35 +00:00
Rafaël Carré
7c339c937a
parse_sap_header(): remove write-only variable
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28132 a1c6a512-1295-4272-9138-f99709370657
2010-09-21 08:25:46 +00:00