diff options
author | Nick Peskett <rockbox@peskett.co.uk> | 2011-12-18 00:00:41 +0000 |
---|---|---|
committer | Nick Peskett <rockbox@peskett.co.uk> | 2011-12-18 00:00:41 +0000 |
commit | ae90b29dcb56cf74d4d561fed33a6c843d469b55 (patch) | |
tree | e43b42850eaece87ff2f40314dce2ff958cacf2f | |
parent | 73627cef6233d61df2c95d43339b7cc715f3434d (diff) | |
download | rockbox-ae90b29dcb56cf74d4d561fed33a6c843d469b55.tar.gz rockbox-ae90b29dcb56cf74d4d561fed33a6c843d469b55.zip |
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
-rw-r--r-- | apps/metadata/id3tags.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/apps/metadata/id3tags.c b/apps/metadata/id3tags.c index e9b59e012a..855394e2c3 100644 --- a/apps/metadata/id3tags.c +++ b/apps/metadata/id3tags.c | |||
@@ -1000,7 +1000,7 @@ void setid3v2title(int fd, struct mp3entry *entry) | |||
1000 | (bytesread >= 14 && !strncmp(utf8buf, "CUESHEET", 8)) | 1000 | (bytesread >= 14 && !strncmp(utf8buf, "CUESHEET", 8)) |
1001 | ) { | 1001 | ) { |
1002 | unsigned char char_enc = 0; | 1002 | unsigned char char_enc = 0; |
1003 | /* 0CUESHEET0 = 10 bytes */ | 1003 | /* [enc type]+"CUESHEET\0" = 10 */ |
1004 | unsigned char cuesheet_offset = 10; | 1004 | unsigned char cuesheet_offset = 10; |
1005 | switch (tag[0]) { | 1005 | switch (tag[0]) { |
1006 | case 0x00: | 1006 | case 0x00: |
@@ -1008,11 +1008,13 @@ void setid3v2title(int fd, struct mp3entry *entry) | |||
1008 | break; | 1008 | break; |
1009 | case 0x01: | 1009 | case 0x01: |
1010 | char_enc = CHAR_ENC_UTF_16_LE; | 1010 | char_enc = CHAR_ENC_UTF_16_LE; |
1011 | cuesheet_offset += cuesheet_offset+1; | 1011 | /* \1 + \xff\xfe + C\0U\0E\0S\0H\0E\0E\0T\0\0\0 = 21 */ |
1012 | cuesheet_offset = 21; | ||
1012 | break; | 1013 | break; |
1013 | case 0x02: | 1014 | case 0x02: |
1014 | char_enc = CHAR_ENC_UTF_16_BE; | 1015 | char_enc = CHAR_ENC_UTF_16_BE; |
1015 | cuesheet_offset += cuesheet_offset+1; | 1016 | /* \2 + \xfe\xff + \0C\0U\0E\0S\0H\0E\0E\0T\0\0 = 21 */ |
1017 | cuesheet_offset = 21; | ||
1016 | break; | 1018 | break; |
1017 | case 0x03: | 1019 | case 0x03: |
1018 | char_enc = CHAR_ENC_UTF_8; | 1020 | char_enc = CHAR_ENC_UTF_8; |