summaryrefslogtreecommitdiff
path: root/libavformat/id3v2.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-01-20 08:35:59 +0000
committerMichael Niedermayer <michaelni@gmx.at>2011-01-21 20:36:00 +0100
commit189665d927ffd352bb5dea302b9b9997a7804f21 (patch)
treeee24108d816078a7ab18e2e5b3212a709d578450 /libavformat/id3v2.c
parentb3158f7a42d5e69b45f1cedceb079ff102c2b8a0 (diff)
id3v2: convert metadata after all the tags were read
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit f7fcd6a2549b58a69c02622503676a8b142e4c43)
Diffstat (limited to 'libavformat/id3v2.c')
-rw-r--r--libavformat/id3v2.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 9cfff27210..4da7ec66d1 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -231,7 +231,6 @@ static void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t
/* Skip to end of tag */
url_fseek(s->pb, next, SEEK_SET);
}
- ff_metadata_conv(&s->metadata, NULL, ff_id3v2_metadata_conv);
if (len > 0) {
/* Skip padding */
@@ -261,7 +260,7 @@ void ff_id3v2_read(AVFormatContext *s, const char *magic)
off = url_ftell(s->pb);
ret = get_buffer(s->pb, buf, ID3v2_HEADER_SIZE);
if (ret != ID3v2_HEADER_SIZE)
- return;
+ break;
found_header = ff_id3v2_match(buf, magic);
if (found_header) {
/* parse ID3v2 header */
@@ -274,6 +273,7 @@ void ff_id3v2_read(AVFormatContext *s, const char *magic)
url_fseek(s->pb, off, SEEK_SET);
}
} while (found_header);
+ ff_metadata_conv(&s->metadata, NULL, ff_id3v2_metadata_conv);
}
const AVMetadataConv ff_id3v2_metadata_conv[] = {