Mercurial > libavformat.hg
changeset 4605:4fe4d790c020 libavformat
use new metadata API in nut demuxer
author | aurel |
---|---|
date | Fri, 27 Feb 2009 23:10:34 +0000 |
parents | b977bb8bbe9b |
children | c520c49e79f6 |
files | nutdec.c |
diffstat | 1 files changed, 13 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/nutdec.c Fri Feb 27 14:13:15 2009 +0000 +++ b/nutdec.c Fri Feb 27 23:10:34 2009 +0000 @@ -20,6 +20,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include <strings.h> #include "libavutil/avstring.h" #include "libavutil/bswap.h" #include "libavutil/tree.h" @@ -395,6 +396,7 @@ 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 @@ 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; i<count; i++){ get_str(bc, name, sizeof(name)); @@ -440,21 +443,16 @@ continue; } - if(chapter_id==0 && !strcmp(type, "UTF-8")){ - if (!strcmp(name, "Author")) - av_strlcpy(s->author , 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); } }