decoder/ffmpeg: convert metadata
Convert the metadata with the libavformat function av_metadata_conv(). This ensures that canonical tag names are provided by libavformat, and we can remove the "artist" vs "author" workaround.
This commit is contained in:
parent
d083032236
commit
04816a6369
2
NEWS
2
NEWS
|
@ -1,4 +1,6 @@
|
|||
ver 0.15.6 (2009/??/??)
|
||||
* decoders:
|
||||
- ffmpeg: convert metadata
|
||||
* output_thread: check again if output is open on PAUSE
|
||||
* update: delete ignored symlinks from database
|
||||
|
||||
|
|
|
@ -352,17 +352,17 @@ ffmpeg_copy_metadata(struct tag *tag, AVMetadata *m,
|
|||
static bool ffmpeg_tag_internal(struct ffmpeg_context *ctx)
|
||||
{
|
||||
struct tag *tag = (struct tag *) ctx->tag;
|
||||
const AVFormatContext *f = ctx->format_context;
|
||||
AVFormatContext *f = ctx->format_context;
|
||||
|
||||
tag->time = 0;
|
||||
if (f->duration != (int64_t)AV_NOPTS_VALUE)
|
||||
tag->time = f->duration / AV_TIME_BASE;
|
||||
|
||||
#if LIBAVFORMAT_VERSION_INT >= ((52<<16)+(31<<8)+0)
|
||||
av_metadata_conv(f, NULL, f->iformat->metadata_conv);
|
||||
|
||||
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_TITLE, "title");
|
||||
if (!ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ARTIST, "author"))
|
||||
ffmpeg_copy_metadata(tag, f->metadata,
|
||||
TAG_ITEM_ARTIST, "artist");
|
||||
ffmpeg_copy_metadata(tag, f->metadata, TAG_ITEM_ARTIST, "author");
|
||||
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");
|
||||
|
|
Loading…
Reference in New Issue