diff options
author | Ben Boeckel <mathstuf@gmail.com> | 2014-02-05 12:10:55 -0500 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-05 22:36:48 +0100 |
commit | 0dc66553adb8b7dc89bc1118da0b0661a7ed1c09 (patch) | |
tree | 44f5342226008f908a99c3cee48b5d0c83a12306 | |
parent | 7eb84f2c3b30e562e346204a13412c31a07e13ed (diff) | |
download | ffmpeg-0dc66553adb8b7dc89bc1118da0b0661a7ed1c09.tar.gz |
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@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/oggparsevorbis.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c index 36ad7384ea..1c746376a8 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); + } } } |