From 00798e456376a33bd3cfe1ff01082673db6feab9 Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Fri, 27 Feb 2009 23:10:34 +0000 Subject: [PATCH] use new metadata API in nut demuxer Originally committed as revision 17652 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/nutdec.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c index 02d828a..2243d00 100644 --- a/libavformat/nutdec.c +++ b/libavformat/nutdec.c @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include #include "libavutil/avstring.h" #include "libavutil/bswap.h" #include "libavutil/tree.h" @@ -395,6 +396,7 @@ static int decode_info_header(NUTContext *nut){ char name[256], str_value[1024], type_str[256]; const char *type; AVChapter *chapter= NULL; + AVStream *st= NULL; end= get_packetheader(nut, bc, 1, INFO_STARTCODE); end += url_ftell(bc); @@ -410,7 +412,8 @@ static int decode_info_header(NUTContext *nut){ chapter= ff_new_chapter(s, chapter_id, nut->time_base[chapter_start % nut->time_base_count], start, start + chapter_len, NULL); - } + } else if(stream_id_plus1) + st= s->streams[stream_id_plus1 - 1]; for(i=0; iauthor , str_value, sizeof(s->author)); - else if(!strcmp(name, "Title")) - av_strlcpy(s->title , str_value, sizeof(s->title)); - else if(!strcmp(name, "Copyright")) - av_strlcpy(s->copyright, str_value, sizeof(s->copyright)); - else if(!strcmp(name, "Description")) - av_strlcpy(s->comment , str_value, sizeof(s->comment)); - else if(!strcmp(name, "Disposition")) + if(!strcmp(type, "UTF-8")){ + AVMetadata **metadata = NULL; + if(chapter_id==0 && !strcmp(name, "Disposition")) set_disposition_bits(s, str_value, stream_id_plus1 - 1); - } - if(chapter && !strcmp(type, "UTF-8")){ - if(!strcmp(name, "Title")) - chapter->title= av_strdup(str_value); + else if(chapter) metadata= &chapter->metadata; + else if(stream_id_plus1) metadata= &st->metadata; + else metadata= &s->metadata; + if(metadata && strcasecmp(name,"Uses") + && strcasecmp(name,"Depends") && strcasecmp(name,"Replaces")) + av_metadata_set(metadata, name, str_value); } } -- 2.7.4