diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 3482d5234a..f89882b69f 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -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);