aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/id3v2.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-01-20 08:35:59 +0000
committerMans Rullgard <mans@mansr.com>2011-01-20 13:36:28 +0000
commitf7fcd6a2549b58a69c02622503676a8b142e4c43 (patch)
tree6af05e8a534219457989e69d0e818317b2ca8e6d /libavformat/id3v2.c
parent46a2da7698634214eed6d269fc72d284e3d3700f (diff)
downloadffmpeg-f7fcd6a2549b58a69c02622503676a8b142e4c43.tar.gz
id3v2: convert metadata after all the tags were read
Signed-off-by: Mans Rullgard <mans@mansr.com>
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[] = {