aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <wyskas@gmail.com>2010-02-02 12:35:08 +0100
committerMax Kellermann <max@duempel.org>2010-06-30 23:18:45 +0200
commitc3569814bda057142da3f02a8d0cccb35184e396 (patch)
treefaca569c490f1af0dfee3b1213db70b71681db99
parent814daac5bae1e7e3a67cd7ed727bd1fe6b9a3889 (diff)
downloadmpd-c3569814bda057142da3f02a8d0cccb35184e396.tar.gz
mpd-c3569814bda057142da3f02a8d0cccb35184e396.tar.xz
mpd-c3569814bda057142da3f02a8d0cccb35184e396.zip
ffmpeg: read more metadata.
-rw-r--r--NEWS1
-rw-r--r--src/decoder/ffmpeg_plugin.c11
2 files changed, 11 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index d0b8788a7..14465cad5 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@ ver 0.15.11 (2010/??/??)
- mp4ff: support tags "album artist", "albumartist", "band"
- mikmod: fix memory leak
- ffmpeg: free AVFormatContext on error
+ - ffmpeg: read more metadata
* playlist: emit IDLE_OPTIONS when resetting single mode
* listen: make get_remote_uid() work on BSD
diff --git a/src/decoder/ffmpeg_plugin.c b/src/decoder/ffmpeg_plugin.c
index 2e06c13f8..7f2207669 100644
--- a/src/decoder/ffmpeg_plugin.c
+++ b/src/decoder/ffmpeg_plugin.c
@@ -405,12 +405,21 @@ static bool ffmpeg_tag_internal(struct ffmpeg_context *ctx)
av_metadata_conv(f, NULL, f->iformat->metadata_conv);
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_TITLE, "title");
+#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(50<<8))
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ARTIST, "artist");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_DATE, "date");
+#else
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ARTIST, "author");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_DATE, "year");
+#endif
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ALBUM, "album");
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_COMMENT, "comment");
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_GENRE, "genre");
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_TRACK, "track");
- ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_DATE, "year");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ALBUM_ARTIST, "album_artist");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_COMPOSER, "composer");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_PERFORMER, "performer");
+ ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_DISC, "disc");
#else
if (f->author[0])
tag_add_item(tag, TAG_ITEM_ARTIST, f->author);