use new metadata API in nut muxer

This is only a straight conversion of current code, so for now, it won't
mux generic metadata. It will only mux Title, Author and Copyright.

Originally committed as revision 17653 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Aurelien Jacobs 2009-02-27 23:12:14 +00:00
parent 00798e4563
commit 73914d56d9

View File

@ -448,6 +448,7 @@ static int add_info(ByteIOContext *bc, const char *type, const char *value){
static int write_globalinfo(NUTContext *nut, ByteIOContext *bc){
AVFormatContext *s= nut->avf;
AVMetadataTag *title, *author, *copyright;
ByteIOContext *dyn_bc;
uint8_t *dyn_buf=NULL;
int count=0, dyn_size;
@ -455,9 +456,13 @@ static int write_globalinfo(NUTContext *nut, ByteIOContext *bc){
if(ret < 0)
return ret;
if(s->title [0]) count+= add_info(dyn_bc, "Title" , s->title);
if(s->author [0]) count+= add_info(dyn_bc, "Author" , s->author);
if(s->copyright[0]) count+= add_info(dyn_bc, "Copyright", s->copyright);
title = av_metadata_get(s->metadata, "Title" , NULL, 0);
author = av_metadata_get(s->metadata, "Author" , NULL, 0);
copyright = av_metadata_get(s->metadata, "Copyright", NULL, 0);
if(title ) count+= add_info(dyn_bc, "Title" , title->value);
if(author ) count+= add_info(dyn_bc, "Author" , author->value);
if(copyright) count+= add_info(dyn_bc, "Copyright", copyright->value);
if(!(s->streams[0]->codec->flags & CODEC_FLAG_BITEXACT))
count+= add_info(dyn_bc, "Encoder" , LIBAVFORMAT_IDENT);