From c3569814bda057142da3f02a8d0cccb35184e396 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Tue, 2 Feb 2010 12:35:08 +0100 Subject: [PATCH] ffmpeg: read more metadata. --- NEWS | 1 + src/decoder/ffmpeg_plugin.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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);