diff options
author | Anton Khirnov <anton@khirnov.net> | 2011-01-19 10:13:25 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-01-21 20:36:01 +0100 |
commit | eeb0b893e3f68f98816e05316573908e46e3ebb5 (patch) | |
tree | d52cdefd2b0effc7040c0ca4726d847466b7ae50 | |
parent | a091006d3d18c094312ebb4b3f064e419ef941b0 (diff) | |
download | ffmpeg-eeb0b893e3f68f98816e05316573908e46e3ebb5.tar.gz |
id3v2: use an enum for encodings instead of magic numbers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit d66eff36852975129ae499c56de4340e48b9b7b4)
-rw-r--r-- | libavformat/id3v2.c | 8 | ||||
-rw-r--r-- | libavformat/id3v2.h | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c index 95ec0b05cb..62eee15591 100644 --- a/libavformat/id3v2.c +++ b/libavformat/id3v2.c @@ -74,7 +74,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c switch (get_byte(pb)) { /* encoding type */ - case 0: /* ISO-8859-1 (0 - 255 maps directly into unicode) */ + case ID3v2_ENCODING_ISO8859: q = dst; while (taglen-- && q - dst < dstlen - 7) { uint8_t tmp; @@ -83,7 +83,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c *q = 0; break; - case 1: /* UTF-16 with BOM */ + case ID3v2_ENCODING_UTF16BOM: taglen -= 2; switch (get_be16(pb)) { case 0xfffe: @@ -96,7 +96,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c } // fall-through - case 2: /* UTF-16BE without BOM */ + case ID3v2_ENCODING_UTF16BE: q = dst; while (taglen > 1 && q - dst < dstlen - 7) { uint32_t ch; @@ -108,7 +108,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c *q = 0; break; - case 3: /* UTF-8 */ + case ID3v2_ENCODING_UTF8: len = FFMIN(taglen, dstlen); get_buffer(pb, dst, len); dst[len] = 0; diff --git a/libavformat/id3v2.h b/libavformat/id3v2.h index 25ee53e9b8..c2e1add849 100644 --- a/libavformat/id3v2.h +++ b/libavformat/id3v2.h @@ -38,6 +38,13 @@ #define ID3v2_FLAG_ENCRYPTION 0x0004 #define ID3v2_FLAG_COMPRESSION 0x0008 +enum ID3v2Encoding { + ID3v2_ENCODING_ISO8859 = 0, + ID3v2_ENCODING_UTF16BOM = 1, + ID3v2_ENCODING_UTF16BE = 2, + ID3v2_ENCODING_UTF8 = 3, +}; + /** * Detect ID3v2 Header. * @param buf must be ID3v2_HEADER_SIZE byte long |