[FFmpeg-devel] [PATCH 6/6] Parse 'bext' metadata in the wav demuxer

Tomas Härdin tomas.hardin
Tue Mar 8 13:19:26 CET 2011


Ronald S. Bultje skrev 2011-03-07 18:22:
> Hi,
>
> On Fri, Mar 4, 2011 at 3:26 AM, Tomas H?rdin<tomas.hardin at codemill.se>  wrote:
>> Any objections to the choice of key names? Thoughts on the UMID formatting?
> [..]
>> +#define PARSE_BEXT_STRING(metadata_key, length)\
>> +    if ((ret = avio_read(s->pb, temp, length))<  0) return ret;\
>> +    temp[length] = 0;\
>> +    if (strlen(temp)&&  (ret = av_metadata_set2(&s->metadata, metadata_key, temp, 0))<  0)\
>> +        return ret;
>
> Please make this static inline or so, the macro is a little ugly...

Done. Another good reason is that debugging macros is hard.

> [..]
>> +    PARSE_BEXT_STRING("description", 256);
>> +    PARSE_BEXT_STRING("originator", 32);
>> +    PARSE_BEXT_STRING("originator_reference", 32);
>> +    PARSE_BEXT_STRING("origination_date", 10);
>> +    PARSE_BEXT_STRING("origination_time", 8);
>
> Don't we have standard keys for stuff like date/time already? What is
> originator? Description is a standard key, right?

Good question. I can't find something like a canonical list of keys in 
doc/. The closest things I could find were doc/muxers.texi and 
libavformat/metadata_compat.c

> As for the UMID, I'm afraid I can't really tell what it is from the
> code. What is it? Why would the user want to know about it?

UMID is a 256-bit or 512-bit number intended to uniquely identify a 
piece of essence. They contain things like a uniue ID for the essence, 
the date and time it was captured, spatial coordinates, organisation etc.

Generally one wants to preserve the UMID when remuxing, for instance 
when going from BWF to MXF.

As for the textual representation, I decided to go with the one in S330m 
since it is referenced in [3] in the BWF spec. See 
http://tech.ebu.ch/docs/tech/tech3285.pdf

Updated patch attached, but it could use some discussion regarding the 
keys as mentioned above.

/Tomas



More information about the ffmpeg-devel mailing list