diff nutenc.c @ 4606:c520c49e79f6 libavformat

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.
author aurel
date Fri, 27 Feb 2009 23:12:14 +0000
parents 963e3b76c7a6
children 33a244b7ca65
line wrap: on
line diff
--- a/nutenc.c	Fri Feb 27 23:10:34 2009 +0000
+++ b/nutenc.c	Fri Feb 27 23:12:14 2009 +0000
@@ -448,6 +448,7 @@
 
 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 @@
     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);