[FFmpeg-cvslog] vorbis: append data from tags together

Ben Boeckel git at videolan.org
Wed Feb 5 23:48:08 CET 2014


ffmpeg | branch: master | Ben Boeckel <mathstuf at gmail.com> | Wed Feb  5 12:10:55 2014 -0500| [0dc66553adb8b7dc89bc1118da0b0661a7ed1c09] | committer: Michael Niedermayer

vorbis: append data from tags together

Currently, if there are multiple 'performer' tags, the last one is the
only one which appears. Instead, join them with a semicolon.

Signed-off-by: Ben Boeckel <mathstuf at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/oggparsevorbis.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c
index 36ad738..1c74637 100644
--- a/libavformat/oggparsevorbis.c
+++ b/libavformat/oggparsevorbis.c
@@ -155,10 +155,15 @@ int ff_vorbis_comment(AVFormatContext *as, AVDictionary **m,
                     av_log(as, AV_LOG_WARNING, "Failed to parse cover art block.\n");
                     continue;
                 }
-            } else if (!ogm_chapter(as, tt, ct))
+            } else if (!ogm_chapter(as, tt, ct)) {
+                if (m && av_dict_get(*m, tt, NULL, 0)) {
+                    av_dict_set(m, tt, ";", AV_DICT_APPEND);
+                }
                 av_dict_set(m, tt, ct,
                             AV_DICT_DONT_STRDUP_KEY |
-                            AV_DICT_DONT_STRDUP_VAL);
+                            AV_DICT_APPEND);
+                av_freep(&ct);
+            }
         }
     }
 



More information about the ffmpeg-cvslog mailing list