Jens Arnold
ec9b202a92
Reworked handling of MPEG audio frame & file info: * Fixed frame size calculation for layer 1 (all versions) and layer 2 (V2/V2.5). * Exact frame time (expressed as a fraction) for way more precise playtime calculation at 44100/22050/11025Hz sample frequency. * Exact playtime<->position conversion for CBR also used for resume position. * More compact code, long policy.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7505 a1c6a512-1295-4272-9138-f99709370657
2005-09-10 12:28:16 +00:00
Jens Arnold
4a939ecdcd
Exact song length calculation for CBR mpeg audio files (without Info header).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7502 a1c6a512-1295-4272-9138-f99709370657
2005-09-09 07:19:41 +00:00
Jonas Häggqvist
34aa5c20cc
The previous commit had a distressing lack of words. This time I deliver the promised Christian Gangsta Rap.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7500 a1c6a512-1295-4272-9138-f99709370657
2005-09-08 00:17:11 +00:00
Jonas Häggqvist
f73ec85966
Added support for additional ID3v1 genres, including such gems as "Christian gangsta rap" and "Negerpunk".
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7499 a1c6a512-1295-4272-9138-f99709370657
2005-09-07 22:51:43 +00:00
Jens Arnold
579210df87
Restructured codec type handling a bit. Reduced code size, esp. on archos.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7443 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 17:03:09 +00:00
Linus Nielsen Feltzing
4c4affa456
Corrected the codec format table
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7442 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 15:47:29 +00:00
Linus Nielsen Feltzing
d67c267090
Fixed the WPS codec type conditional, and removed unsupported formats from the format enum
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7441 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 13:39:39 +00:00
Linus Nielsen Feltzing
c4a230c11a
Patch #1161046 by Bryan Vandyke - id3v2 frames with size 0 may cause rockbox to miss tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7426 a1c6a512-1295-4272-9138-f99709370657
2005-08-30 13:01:44 +00:00
Jens Arnold
d6c054575b
Renamed CONFIG_HWCODEC and MASNONE to the more appropriate CONFIG_CODEC and SWCODEC, respectively.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7416 a1c6a512-1295-4272-9138-f99709370657
2005-08-29 21:15:27 +00:00
Miika Pekkarinen
b4bdfee43c
Fixed "if there are less than 2 bytes left in the buffer, then
...
framelen is set to 0 or -1", thanks to Frank Dischner.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7361 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 18:19:56 +00:00
Linus Nielsen Feltzing
d71f7824a1
Properly skip the ID3v2 extended header for both 2.3 and 2.4
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7356 a1c6a512-1295-4272-9138-f99709370657
2005-08-19 09:43:47 +00:00
Magnus Holmgren
436901a86b
Only check for frames with three-letter names when parsing ID3V2.2 tags (and only check four-letter names when parsing ID3V2.3+ tags).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7306 a1c6a512-1295-4272-9138-f99709370657
2005-08-11 19:59:47 +00:00
Magnus Holmgren
988ea2cffc
Added support for ID3V2 ReplayGain tags (as written by Foobar). Generalized the replaygain tag parsing a bit, to cut down the code size (APE tags should use this as well, but as it requires larger changes, it will have to wait for another commit). Also fixed a bug in the ID3V2 parser; ISO-8859-1 strings could confuse the main parsing loop (causing bufferpos to come out of sync).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7243 a1c6a512-1295-4272-9138-f99709370657
2005-07-27 11:54:33 +00:00
Miika Pekkarinen
2e9ce4ee47
Now codec names are in sync.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7032 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 20:35:43 +00:00
Miika Pekkarinen
5c2c991d14
Applied patch "[ 1232957 ] MP3 metadata fixes for software codec".
...
Thanks to Magnus Holmgren. Now metadata reading is better with
improved performance for mp3 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7030 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 19:55:40 +00:00
Jonas Häggqvist
e021e1f42c
Patch 1163135 by Bryan Vandyke: Remove trailing spaces for ID3v2 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6885 a1c6a512-1295-4272-9138-f99709370657
2005-06-26 22:43:57 +00:00
Miika Pekkarinen
0a81bb344e
Don't initialize id3 structure with zeros on software codec platforms
...
(buffering system will do this).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6764 a1c6a512-1295-4272-9138-f99709370657
2005-06-19 08:29:23 +00:00
Dave Chapman
961c9a3e41
Added %fc WPS tag to display codec type - moved codectype from track_info struct into mp3info struct, initialise it on MAS platforms, and add it to the WPS.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6748 a1c6a512-1295-4272-9138-f99709370657
2005-06-18 16:24:27 +00:00
Linus Nielsen Feltzing
5058f7de05
ID3 parser bug fix by Ray Lambert
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6716 a1c6a512-1295-4272-9138-f99709370657
2005-06-15 08:46:13 +00:00
Jean-Philippe Bernardy
0f6b3796d6
long policy
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5863 a1c6a512-1295-4272-9138-f99709370657
2005-02-09 10:56:54 +00:00
Jens Arnold
c76c568b35
Const policed pointer arguments to functions, part 1
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4995 a1c6a512-1295-4272-9138-f99709370657
2004-08-16 23:37:23 +00:00
Jens Arnold
9478cc6f8a
More const policeing step 4
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4983 a1c6a512-1295-4272-9138-f99709370657
2004-08-03 19:22:56 +00:00
Linus Nielsen Feltzing
f4f4111536
Added possibility to select the priority of the ID3 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4962 a1c6a512-1295-4272-9138-f99709370657
2004-07-27 14:10:48 +00:00
Linus Nielsen Feltzing
559e515229
Now looks for TCOM and TCON before TCO
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4836 a1c6a512-1295-4272-9138-f99709370657
2004-07-05 22:28:02 +00:00
Daniel Stenberg
7ba7ffd843
remove extra ';'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4754 a1c6a512-1295-4272-9138-f99709370657
2004-06-16 11:30:28 +00:00
Linus Nielsen Feltzing
743f23415b
Stray semicolon removed
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4752 a1c6a512-1295-4272-9138-f99709370657
2004-06-16 11:26:18 +00:00
Björn Stenberg
bdaf5884ca
Moved genre list and access function to id3.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4692 a1c6a512-1295-4272-9138-f99709370657
2004-05-22 01:38:41 +00:00
Linus Nielsen Feltzing
2cc373eb99
The ID3 parser accidentally allowed a data length indicator flag on 2.3 tags, and the grouping identity bit is not the same on 2.3 and 2.4 (sigh).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4455 a1c6a512-1295-4272-9138-f99709370657
2004-03-30 13:57:06 +00:00
Linus Nielsen Feltzing
e701808b2e
The ID3V2 TCON frame is now parsed in a little more forgiving manner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4437 a1c6a512-1295-4272-9138-f99709370657
2004-03-25 06:58:25 +00:00
Linus Nielsen Feltzing
a85a525893
Skipping unknown ID3V2 frames didn't work as expected with global unsynch. This fixes bug report #887332 .
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4379 a1c6a512-1295-4272-9138-f99709370657
2004-03-13 22:55:47 +00:00
Linus Nielsen Feltzing
2f4a5616c0
The Unicode parser now handles unterminated strings, plus it tries to guess the byte order when the BOM is missing (a violation of the spec, btw)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4215 a1c6a512-1295-4272-9138-f99709370657
2004-01-09 00:47:26 +00:00
Linus Nielsen Feltzing
187b8ed9df
Got rid of the reset parameter to xxx_unsynched()
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4189 a1c6a512-1295-4272-9138-f99709370657
2004-01-04 00:45:16 +00:00
Linus Nielsen Feltzing
219d52a86f
ID3v2.3 treats the global unsynch flag in a silly way, so we have to unsynch the whole tag before we can parse the individual frames.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4188 a1c6a512-1295-4272-9138-f99709370657
2004-01-04 00:37:30 +00:00
Magnus Holmgren
f11d07c61f
Correct genre parsing by making code match comment (and specification) :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3987 a1c6a512-1295-4272-9138-f99709370657
2003-10-26 12:53:21 +00:00
Linus Nielsen Feltzing
eee3720ebe
Genre parsing in id3v2.3 was still wrong. Also, the last frame in the tag could sometimes be ignored. This fixes the strange 1-digit track number bug.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3984 a1c6a512-1295-4272-9138-f99709370657
2003-10-22 21:11:38 +00:00
Linus Nielsen Feltzing
5557fe3259
Added unsynchronization
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3983 a1c6a512-1295-4272-9138-f99709370657
2003-10-22 13:06:31 +00:00
Linus Nielsen Feltzing
d9ae29a691
An attempt to fix the ID3V2 genre tag parsing
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3981 a1c6a512-1295-4272-9138-f99709370657
2003-10-21 10:44:34 +00:00
Linus Nielsen Feltzing
0bce9580a1
Added tag resolvers for TYE, TAL and TRK
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3980 a1c6a512-1295-4272-9138-f99709370657
2003-10-20 10:22:41 +00:00
Björn Stenberg
92b1d85b48
Fix for incorrect genre default value, by Benjamin Metzler
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3810 a1c6a512-1295-4272-9138-f99709370657
2003-07-04 08:23:39 +00:00
Daniel Stenberg
75fdb2aab3
bug 749951, ooops. We made the number function too generic and forgot to
...
make the year tags work... Thanks to Jeremy Zoss for finding and reporting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3737 a1c6a512-1295-4272-9138-f99709370657
2003-06-06 07:54:50 +00:00
Björn Stenberg
7add54f0f8
Fixed silly typo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3729 a1c6a512-1295-4272-9138-f99709370657
2003-06-05 08:01:38 +00:00
Björn Stenberg
8498a48496
Generalized id3v2 parsing code. Added support for the composer frame and free-form genre and tracknum frames. (Patch #706111 by Thomas Paul Diffenbach)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3727 a1c6a512-1295-4272-9138-f99709370657
2003-06-04 15:09:35 +00:00
Linus Nielsen Feltzing
6b6f97ddda
Tidied up the ID3V2 parser a little
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3475 a1c6a512-1295-4272-9138-f99709370657
2003-03-18 01:31:35 +00:00
Linus Nielsen Feltzing
372ad33d35
Faster ID3 parsing with the new filesize() function
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3474 a1c6a512-1295-4272-9138-f99709370657
2003-03-18 00:45:27 +00:00
Björn Stenberg
b551e36fb0
Bug fixes: Artist was skipped sometimes. Frequency, mpeg version & layer was never copied.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3441 a1c6a512-1295-4272-9138-f99709370657
2003-03-13 19:12:05 +00:00
Linus Nielsen Feltzing
2c07e78efc
Don't accidentally add Xing headers to CBR files
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3419 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 18:25:40 +00:00
Björn Stenberg
fac3bc581a
Ignore duplicate id3v2 tags or frames. Patch by Bill Napier.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3413 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 15:43:16 +00:00
Linus Nielsen Feltzing
a1598b5836
I hate it when rippers don't follow the ID3V2 specs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3412 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 15:32:59 +00:00
Linus Nielsen Feltzing
a039091187
New ID3 and MP3 stream parser, plus not-yet-ready Xing header generation code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3410 a1c6a512-1295-4272-9138-f99709370657
2003-03-10 14:55:31 +00:00
Björn Stenberg
5b1644336c
Initialize genre to 0xff since 0 is a valid value.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3233 a1c6a512-1295-4272-9138-f99709370657
2003-02-11 15:00:56 +00:00