diff options
author | John Adlum <john.adlum@nospam> | 2015-07-02 00:15:13 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-07-02 04:58:27 +0200 |
commit | 72cad800164c169bc0fdc48a24b4503035e81ed2 (patch) | |
tree | 1c2427a52e6059bc15e954d45f04dcdbf54f8385 /libavformat/asfdec_f.c | |
parent | 59fffefdb4dd4bbec419c58e173202fd0975e527 (diff) |
avformat/asfdec_f: Add ASFDataType, use named types for metadata
This is based on asfdec_o.c, but uses a proper type instead of defines
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/asfdec_f.c')
-rw-r--r-- | libavformat/asfdec_f.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index baa7c18ea2..500c5f027c 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -327,12 +327,15 @@ static void get_tag(AVFormatContext *s, const char *key, int type, int len, int if (!value) goto finish; - if (type == 0) { // UTF16-LE + switch (type) { + case ASF_UNICODE: avio_get_str16le(s->pb, len, value, 2 * len + 1); - } else if (type == -1) { // ASCII + break; + case -1: // ASCI avio_read(s->pb, value, len); value[len]=0; - } else if (type == 1) { // byte array + break; + case ASF_BYTE_ARRAY: if (!strcmp(key, "WM/Picture")) { // handle cover art asf_read_picture(s, len); } else if (!strcmp(key, "ID3")) { // handle ID3 tag @@ -341,13 +344,18 @@ static void get_tag(AVFormatContext *s, const char *key, int type, int len, int av_log(s, AV_LOG_VERBOSE, "Unsupported byte array in tag %s.\n", key); } goto finish; - } else if (type > 1 && type <= 5) { // boolean or DWORD or QWORD or WORD + case ASF_BOOL: + case ASF_DWORD: + case ASF_QWORD: + case ASF_WORD: { uint64_t num = get_value(s->pb, type, type2_size); snprintf(value, LEN, "%"PRIu64, num); - } else if (type == 6) { // (don't) handle GUID + break; + } + case ASF_GUID: av_log(s, AV_LOG_DEBUG, "Unsupported GUID value in tag %s.\n", key); goto finish; - } else { + default: av_log(s, AV_LOG_DEBUG, "Unsupported value type %d in tag %s.\n", type, key); goto finish; |