From 0fc0196dba684e1aac2752a64babffad62f84356 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 10 Jul 2010 13:14:24 +0200 Subject: 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(-) (limited to 'src/decoder/ffmpeg_decoder_plugin.c') 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); -- cgit v1.2.3