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[] = {