[FFmpeg-devel] [PATCH] use new metadata API in mov (de)muxer

Aurelien Jacobs aurel
Sun Feb 15 02:13:55 CET 2009


Aurelien Jacobs wrote:

> Baptiste Coudurier wrote:
> 
> > Hi Aurelien,
> > 
> > Aurelien Jacobs wrote:
> > > Hi,
> > > 
> > > Attached patch converts the mov muxer and demuxer to the new metadata API.
> > > It properly (de)mux lang when available. Note that current muxer code set
> > > lang to english when lang is unknown. I left this behavior unchanged,
> > > especially because I don't know what numeric language code to use for
> > > unknown language.
> > >
> > > [...]
> > >
> > > -    case MKTAG(0xa9,'n','a','m'):
> > > -        str = c->fc->title; size = sizeof(c->fc->title); break;
> > > +    case MKTAG(0xa9,'n','a','m'): key = "title";     break;
> > > +    case MKTAG(0xa9,'a','u','t'):
> > >      case MKTAG(0xa9,'A','R','T'):
> > > -    case MKTAG(0xa9,'w','r','t'):
> > > -        str = c->fc->author; size = sizeof(c->fc->author); break;
> > > -    case MKTAG(0xa9,'c','p','y'):
> > > -        str = c->fc->copyright; size = sizeof(c->fc->copyright); break;
> > > +    case MKTAG(0xa9,'w','r','t'): key = "author";    break;
> > > +    case MKTAG(0xa9,'c','p','y'): key = "copyright"; break;
> > >      case MKTAG(0xa9,'c','m','t'):
> > > -    case MKTAG(0xa9,'i','n','f'):
> > > -        str = c->fc->comment; size = sizeof(c->fc->comment); break;
> > > -    case MKTAG(0xa9,'a','l','b'):
> > > -        str = c->fc->album; size = sizeof(c->fc->album); break;
> > > +    case MKTAG(0xa9,'i','n','f'): key = "comment";   break;
> > > +    case MKTAG(0xa9,'a','l','b'): key = "album";     break;
> > > +    case MKTAG(0xa9,'d','a','y'): key = "year";      break;
> > > +    case MKTAG(0xa9,'g','e','n'): key = "genre";     break;
> > > +    case MKTAG(0xa9,'t','o','o'):
> > > +    case MKTAG(0xa9,'e','n','c'): key = "muxer";     break;
> > 
> > I saw that in vorbis demuxer you exported metadata "as is", but here you
> >  apply some generic metadata.
> > 
> > 1) Shouldn't we also export "as is" everything in "udta" atom coded in a
> > somewhat standard way (itunes, 3gp, mov) ? This is what I would call
> > "generic" and user could retrieve it if wanted.
> 
> That would indeed be more generic, but from my understanding, the
> metadata key is supposed to be a user understandable string. A end
> user application should display the straight key string.
> mov atom identifier don't really qualify as user readable string...
> BTW: does mov have a small limited set of well know supported
> metadata atom, or is anyone allowed to set any random metadata
> at will ?

Well. I still think my patch is the right way to do it.
For formats which don't have free text keys, the demuxer should
export the small set of allowed tags each with a comprehensible
text key.
So finally, here is the demuxer part of the patch, split, but
otherwise unchanged. First patch switch to the new API. Second
patch adds support for a few more tags.

Aurel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: md_mov_demux_1.diff
Type: text/x-patch
Size: 3167 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090215/ad3f453a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: md_mov_demux_2.diff
Type: text/x-patch
Size: 1507 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090215/ad3f453a/attachment-0001.bin>



More information about the ffmpeg-devel mailing list