[FFmpeg-devel] [PATCH][RFC] add a list of generic tag names

Justin Ruggles justin.ruggles
Sun Oct 18 19:21:59 CEST 2009


Aurelien Jacobs wrote:

> On Sat, Sep 26, 2009 at 12:25:27AM +0200, Anton Khirnov wrote:
>> Hi,
>> attached is a patch for $subj. Suggestions for new tags/renames are
>> welcome, it'll also probably need some attention from the grammar
>> na^W^Wenglish experts :)
>>
>> year/date - the old code had 'year', but many formats support full date,
>> so 'year' can be misleading.
> 
> I agree that date should be better.
> And as long as it's in ISO 8601 format or similar, muxer that only support
> year can just mux the 4 first characters...

We just need to make sure we actually do this and don't end up writing a
full date in a tag that should only get a year.

>> From a2558208fb6e283419e400f3d3e3f18c879de1db Mon Sep 17 00:00:00 2001
>> From: Anton Khirnov <wyskas at gmail.com>
>> Date: Fri, 25 Sep 2009 22:50:15 +0200
>> Subject: [PATCH] add a list of generic tags and change demuxers to follow it.
>>
>> ---
>>  libavformat/asf.c            |    4 ++--
>>  libavformat/avformat.h       |   22 +++++++++++++++++++++-
>>  libavformat/matroska.c       |    4 ++--
>>  libavformat/oggparsevorbis.c |    2 +-
>>  4 files changed, 26 insertions(+), 6 deletions(-)
>>
>> diff --git a/libavformat/asf.c b/libavformat/asf.c
>> index 79ef614..8cf9655 100644
>> --- a/libavformat/asf.c
>> +++ b/libavformat/asf.c
>> @@ -117,12 +117,12 @@ const ff_asf_guid ff_asf_language_guid = {
>>  };
>>  
>>  const AVMetadataConv ff_asf_metadata_conv[] = {
>> -    { "AlbumArtist", "artist"    },
>> +    { "AlbumArtist", "albumauthor"},
> 
> I don't really like this one, and it's not used in any other format AFAICT.
> what about using "performer" instead ?

One use of this is for albums with various artists.  Typically the track
artist is put under artist or author, and "Various Artists" or "Various"
is used for album artist.


>> + * albumsort    -- used instead of album for sorting
>> + * author       -- main author of the work
>> + * authorsort   -- used instead of author for sorting
>> + * comment      --
>> + * composer     -- artist who composed the work, if different from author
>> + * copyright    -- name of copyright holder
>> + * date         -- date when the work was created, preferably in ISO 8601
>> + * disc         -- number of a subset, i.e. disc in a multi-disc collection
>> + * encoder      -- person who encoded the file
> 
> Hummm... To me it seems like encoder is generaly the name/version of
> the software which was used to encode the file. Not the name of a
> person. Am I wrong ?

I agree.  The person could be something like "encodedby".

>> diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c
>> index afc3fcb..ea090d5 100644
>> --- a/libavformat/oggparsevorbis.c
>> +++ b/libavformat/oggparsevorbis.c
>> @@ -39,7 +39,7 @@ const AVMetadataConv ff_vorbiscomment_metadata_conv[] = {
>>      { "ARTIST"     , "author" },
>>      { "TITLE"      , "title"  },
>>      { "ALBUM"      , "album"  },
>> -    { "DATE"       , "year"   },
>> +    { "DATE"       , "date"   },
>>      { "TRACKNUMBER", "track"  },
> 
> OK.

This is not needed.  VorbisComment keys are case-insensitive.

-Justin




More information about the ffmpeg-devel mailing list