From 6314a8137b8d7900377b01465162bcc17005edd6 Mon Sep 17 00:00:00 2001
From: David Horn <dhorn2000@gmail.com>
Date: Fri, 30 Jan 2009 09:02:09 +0100
Subject: ffmeg: added support for the tags comment, genre, year

ffmpeg_tag_internal() does not look for a few tags that mpd
supports. Most noteably:

 comment -> TAG_ITEM_COMMENT -> Description
 genre -> TAG_ITEM_GENRE -> WM/Genre (not WM/GenreID)
 year -> TAG_ITEM_DATE -> WM/Year

I *think* that this is the last of the tags that AVFormatContext() in
ffmpeg supports that mpd also uses.
---
 NEWS                        |  2 ++
 src/decoder/ffmpeg_plugin.c | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/NEWS b/NEWS
index d1e28aeac..dc2ec9e00 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.14.2 (2009/??/??)
+* decoders:
+  - ffmpeg: added support for the tags comment, genre, year
 * audio outputs:
   - jack: allocate ring buffers before connecting
   - jack: clear "shutdown" flag on reconnect
diff --git a/src/decoder/ffmpeg_plugin.c b/src/decoder/ffmpeg_plugin.c
index 7f7978b9d..efad6eb16 100644
--- a/src/decoder/ffmpeg_plugin.c
+++ b/src/decoder/ffmpeg_plugin.c
@@ -345,6 +345,16 @@ static bool ffmpeg_tag_internal(struct ffmpeg_context *ctx)
 		tag_add_item(tag, TAG_ITEM_TRACK, buffer);
 	}
 
+	if (f->comment[0])
+		tag_add_item(tag, TAG_ITEM_COMMENT, f->comment);
+	if (f->genre[0])
+		tag_add_item(tag, TAG_ITEM_GENRE, f->genre);
+	if (f->year > 0) {
+		char buffer[16];
+		snprintf(buffer, sizeof(buffer), "%d", f->year);
+		tag_add_item(tag, TAG_ITEM_DATE, buffer);
+	}
+
 	return true;
 }
 
-- 
cgit v1.2.3