summaryrefslogtreecommitdiff
path: root/firmware
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 /firmware
parentea8857149316902f592145ceee7f61cdaa0eccf8 (diff)
downloadrockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.tar.gz
rockbox-0bd027aa1a3ea4b8f1ab185826aada75ca558e67.zip
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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/id3.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/id3.c b/firmware/id3.c
index 851aa83a5a..76b705e9ed 100644
--- a/firmware/id3.c
+++ b/firmware/id3.c
@@ -145,8 +145,8 @@ const int afmt_rec_format[AFMT_NUM_CODECS] =
145 145
146unsigned long unsync(unsigned long b0, 146unsigned long unsync(unsigned long b0,
147 unsigned long b1, 147 unsigned long b1,
148 unsigned long b2, 148 unsigned long b2,
149 unsigned long b3) 149 unsigned long b3)
150{ 150{
151 return (((long)(b0 & 0x7F) << (3*7)) | 151 return (((long)(b0 & 0x7F) << (3*7)) |
152 ((long)(b1 & 0x7F) << (2*7)) | 152 ((long)(b1 & 0x7F) << (2*7)) |
@@ -900,6 +900,9 @@ static void setid3v2title(int fd, struct mp3entry *entry)
900 */ 900 */
901 901
902 if(!memcmp( header, "COMM", 4 )) { 902 if(!memcmp( header, "COMM", 4 )) {
903 /* ignore comments with iTunes 7 gapless data */
904 if(!strcmp(tag+4, "iTunNORM"))
905 break;
903 comm_offset = 3 + strlen(tag+4) + 1; 906 comm_offset = 3 + strlen(tag+4) + 1;
904 if(bytesread>comm_offset) { 907 if(bytesread>comm_offset) {
905 bytesread-=comm_offset; 908 bytesread-=comm_offset;