[FFmpeg-cvslog] id3v2: don't overwrite existing tags

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

ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Jan 20 09:06:58 2011 +0100| [d4cc1f5b97793430bb14e25dbe2bb9f04e8ed540] | committer: Michael Niedermayer

id3v2: don't overwrite existing tags

Apparently some broken taggers prepend a new ID3v2 tag leaving the
existing one intact. Our parser currently reads all tags and overwrites
existing values with supposedly outdated ones.

fixes issue2419

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

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

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

diff --git a/libavformat/id3v2.c b/libavformat/id3v2.c
index 4da7ec6..95ec0b0 100644
--- a/libavformat/id3v2.c
+++ b/libavformat/id3v2.c
@@ -132,7 +132,7 @@ static void read_ttag(AVFormatContext *s, ByteIOContext *pb, int taglen, const c
         val = dst;
     if (val)
-        av_metadata_set2(&s->metadata, key, val, 0);
+        av_metadata_set2(&s->metadata, key, val, AV_METADATA_DONT_OVERWRITE);
 static void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags)

More information about the ffmpeg-cvslog mailing list