From 058023f9781a30ad159a32374e185176602e2fcb Mon Sep 17 00:00:00 2001 From: Leland Lucius Date: Wed, 27 Jan 2021 02:34:06 -0600 Subject: [PATCH] Bug 2564 - Metadata: Artist and Year tags missing on M4A(AAC) exports --- src/export/ExportFFmpeg.cpp | 14 ++++++++++++-- src/import/ImportFFmpeg.cpp | 14 +++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/export/ExportFFmpeg.cpp b/src/export/ExportFFmpeg.cpp index 1d1342ddd..c0c73c401 100644 --- a/src/export/ExportFFmpeg.cpp +++ b/src/export/ExportFFmpeg.cpp @@ -1079,14 +1079,24 @@ bool ExportFFmpeg::AddTags(const Tags *tags) return false; } - SetMetadata(tags, "author", TAG_ARTIST); SetMetadata(tags, "album", TAG_ALBUM); SetMetadata(tags, "comment", TAG_COMMENTS); SetMetadata(tags, "genre", TAG_GENRE); SetMetadata(tags, "title", TAG_TITLE); - SetMetadata(tags, "year", TAG_YEAR); SetMetadata(tags, "track", TAG_TRACK); + // Bug 2564: Add m4a tags + if (mEncFormatDesc->audio_codec == AV_CODEC_ID_AAC) + { + SetMetadata(tags, "artist", TAG_ARTIST); + SetMetadata(tags, "date", TAG_YEAR); + } + else + { + SetMetadata(tags, "author", TAG_ARTIST); + SetMetadata(tags, "year", TAG_YEAR); + } + return true; } diff --git a/src/import/ImportFFmpeg.cpp b/src/import/ImportFFmpeg.cpp index f5f7177c4..774ff1cf4 100644 --- a/src/import/ImportFFmpeg.cpp +++ b/src/import/ImportFFmpeg.cpp @@ -733,13 +733,21 @@ void FFmpegImportFileHandle::WriteMetadata(Tags *tags) tags->Clear(); GetMetadata(tags, TAG_TITLE, "title"); - GetMetadata(tags, TAG_ARTIST, "author"); -// GetMetadata(tags, TAG_COPYRIGHT, "copyright"); GetMetadata(tags, TAG_COMMENTS, "comment"); GetMetadata(tags, TAG_ALBUM, "album"); - GetMetadata(tags, TAG_YEAR, "year"); GetMetadata(tags, TAG_TRACK, "track"); GetMetadata(tags, TAG_GENRE, "genre"); + + if (wxString(mFormatContext->iformat->name).Contains("m4a")) + { + GetMetadata(tags, TAG_ARTIST, "artist"); + GetMetadata(tags, TAG_YEAR, "date"); + } + else + { + GetMetadata(tags, TAG_ARTIST, "author"); + GetMetadata(tags, TAG_YEAR, "year"); + } } void FFmpegImportFileHandle::GetMetadata(Tags *tags, const wxChar *tag, const char *name)