From 0fc0196dba684e1aac2752a64babffad62f84356 Mon Sep 17 00:00:00 2001
From: Anton Khirnov <wyskas@gmail.com>
Date: Sat, 10 Jul 2010 13:14:24 +0200
Subject: [PATCH] ffmpeg: read the audio stream metadata in addition to global

in some formats, e.g. vorbis, the metadata is stored per-stream.
---
 src/decoder/ffmpeg_decoder_plugin.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/decoder/ffmpeg_decoder_plugin.c b/src/decoder/ffmpeg_decoder_plugin.c
index b46f466eb..68c376211 100644
--- a/src/decoder/ffmpeg_decoder_plugin.c
+++ b/src/decoder/ffmpeg_decoder_plugin.c
@@ -452,8 +452,12 @@ ffmpeg_stream_tag(struct input_stream *is)
 #if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(31<<8)+0)
 	av_metadata_conv(f, NULL, f->iformat->metadata_conv);
 
-	for (unsigned i = 0; i < sizeof(ffmpeg_tag_maps)/sizeof(ffmpeg_tag_map); i++)
+	for (unsigned i = 0; i < sizeof(ffmpeg_tag_maps)/sizeof(ffmpeg_tag_map); i++) {
+		int idx = ffmpeg_find_audio_stream(f);
 		ffmpeg_copy_metadata(tag, f->metadata, ffmpeg_tag_maps[i]);
+		if (idx >= 0)
+			ffmpeg_copy_metadata(tag, f->streams[idx]->metadata, ffmpeg_tag_maps[i]);
+	}
 #else
 	if (f->author[0])
 		tag_add_item(tag, TAG_ARTIST, f->author);
-- 
2.24.1