summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/metadata/id3tags.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/metadata/id3tags.c b/apps/metadata/id3tags.c
index 855394e2c3..7e767c7268 100644
--- a/apps/metadata/id3tags.c
+++ b/apps/metadata/id3tags.c
@@ -1007,14 +1007,17 @@ void setid3v2title(int fd, struct mp3entry *entry)
1007 char_enc = CHAR_ENC_ISO_8859_1; 1007 char_enc = CHAR_ENC_ISO_8859_1;
1008 break; 1008 break;
1009 case 0x01: 1009 case 0x01:
1010 char_enc = CHAR_ENC_UTF_16_LE; 1010 if (memcmp(tag, "\1\xfe\xff", 3))
1011 /* \1 + \xff\xfe + C\0U\0E\0S\0H\0E\0E\0T\0\0\0 = 21 */ 1011 char_enc = CHAR_ENC_UTF_16_BE;
1012 else if (memcmp(tag, "\1\xff\xfe", 3))
1013 char_enc = CHAR_ENC_UTF_16_LE;
1014 /* \1 + BOM(2) + C0U0E0S0H0E0E0T000 = 21 */
1012 cuesheet_offset = 21; 1015 cuesheet_offset = 21;
1013 break; 1016 break;
1014 case 0x02: 1017 case 0x02:
1015 char_enc = CHAR_ENC_UTF_16_BE; 1018 char_enc = CHAR_ENC_UTF_16_BE;
1016 /* \2 + \xfe\xff + \0C\0U\0E\0S\0H\0E\0E\0T\0\0 = 21 */ 1019 /* \2 + 0C0U0E0S0H0E0E0T00 = 19 */
1017 cuesheet_offset = 21; 1020 cuesheet_offset = 19;
1018 break; 1021 break;
1019 case 0x03: 1022 case 0x03:
1020 char_enc = CHAR_ENC_UTF_8; 1023 char_enc = CHAR_ENC_UTF_8;