[FFmpeg-cvslog] id3v2: convert metadata after all the tags were read

Anton Khirnov git
Fri Jan 21 20:40:02 CET 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Jan 20 08:35:59 2011 +0000| [189665d927ffd352bb5dea302b9b9997a7804f21] | committer: Michael Niedermayer

id3v2: convert metadata after all the tags were read

Signed-off-by: Mans Rullgard <mans at mansr.com>
(cherry picked from commit f7fcd6a2549b58a69c02622503676a8b142e4c43)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=189665d927ffd352bb5dea302b9b9997a7804f21
---

 libavformat/id3v2.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 9cfff27..4da7ec6 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[] = {




More information about the ffmpeg-cvslog mailing list