summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Kukla <roolku@rockbox.org>2007-08-12 14:13:33 +0000
committerRobert Kukla <roolku@rockbox.org>2007-08-12 14:13:33 +0000
commit0bd027aa1a3ea4b8f1ab185826aada75ca558e67 (patch)
tree2cf32f8c9f24a548f9c221976786394b701c77af
parentea8857149316902f592145ceee7f61cdaa0eccf8 (diff)
downloadrockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.zip
rockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.tar.gz
rockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.tar.bz2
rockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.tar.xz
ignore comments containing iTunes 7 gapless data; should solve issues reported in http://forums.rockbox.org/index.php?topic=12048.0 and http://forums.rockbox.org/index.php?topic=12053.0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14294 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/id3.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/id3.c b/firmware/id3.c
index 851aa83..76b705e 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -145,8 +145,8 @@ const int afmt_rec_format[AFMT_NUM_CODECS] =
unsigned long unsync(unsigned long b0,
unsigned long b1,
- unsigned long b2,
- unsigned long b3)
+ unsigned long b2,
+ unsigned long b3)
{
return (((long)(b0 & 0x7F) << (3*7)) |
((long)(b1 & 0x7F) << (2*7)) |
@@ -900,6 +900,9 @@ static void setid3v2title(int fd, struct mp3entry *entry)
*/
if(!memcmp( header, "COMM", 4 )) {
+ /* ignore comments with iTunes 7 gapless data */
+ if(!strcmp(tag+4, "iTunNORM"))
+ break;
comm_offset = 3 + strlen(tag+4) + 1;
if(bytesread>comm_offset) {
bytesread-=comm_offset;