diff options
Diffstat (limited to 'apps/metadata')
-rw-r--r-- | apps/metadata/id3tags.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/apps/metadata/id3tags.c b/apps/metadata/id3tags.c index edd58da3f5..dcb80347db 100644 --- a/apps/metadata/id3tags.c +++ b/apps/metadata/id3tags.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include "metadata_common.h" | 49 | #include "metadata_common.h" |
50 | #endif | 50 | #endif |
51 | #include "metadata_parsers.h" | 51 | #include "metadata_parsers.h" |
52 | #include "misc.h" | ||
52 | 53 | ||
53 | static unsigned long unsync(unsigned long b0, | 54 | static unsigned long unsync(unsigned long b0, |
54 | unsigned long b1, | 55 | unsigned long b1, |
@@ -1008,10 +1009,13 @@ void setid3v2title(int fd, struct mp3entry *entry) | |||
1008 | break; | 1009 | break; |
1009 | case 0x01: | 1010 | case 0x01: |
1010 | tag++; | 1011 | tag++; |
1011 | if (!memcmp(tag, "\xfe\xff", 2)) | 1012 | if (!memcmp(tag, |
1013 | BOM_UTF_16_BE, BOM_UTF_16_SIZE)) { | ||
1012 | char_enc = CHAR_ENC_UTF_16_BE; | 1014 | char_enc = CHAR_ENC_UTF_16_BE; |
1013 | else if (!memcmp(tag, "\xff\xfe", 2)) | 1015 | } else if (!memcmp(tag, |
1016 | BOM_UTF_16_LE, BOM_UTF_16_SIZE)) { | ||
1014 | char_enc = CHAR_ENC_UTF_16_LE; | 1017 | char_enc = CHAR_ENC_UTF_16_LE; |
1018 | } | ||
1015 | /* \1 + BOM(2) + C0U0E0S0H0E0E0T000 = 21 */ | 1019 | /* \1 + BOM(2) + C0U0E0S0H0E0E0T000 = 21 */ |
1016 | cuesheet_offset = 21; | 1020 | cuesheet_offset = 21; |
1017 | break; | 1021 | break; |