Mercurial > libavformat.hg
diff rmenc.c @ 4522:aaf07b2acb3c libavformat
use new metadata API in rm (de)muxer
author | aurel |
---|---|
date | Tue, 17 Feb 2009 21:40:38 +0000 |
parents | 042e9a2fdda2 |
children | 7875964b4a58 |
line wrap: on
line diff
--- a/rmenc.c Tue Feb 17 15:44:11 2009 +0000 +++ b/rmenc.c Tue Feb 17 21:40:38 2009 +0000 @@ -70,6 +70,7 @@ const char *desc, *mimetype; int nb_packets, packet_total_size, packet_max_size, size, packet_avg_size, i; int bit_rate, v, duration, flags, data_pos; + AVMetadataTag *tag; start_ptr = s->buf_ptr; @@ -123,14 +124,17 @@ /* comments */ put_tag(s,"CONT"); - size = strlen(ctx->title) + strlen(ctx->author) + strlen(ctx->copyright) + - strlen(ctx->comment) + 4 * 2 + 10; + size = 4 * 2 + 10; + for(i=0; i<FF_ARRAY_ELEMS(ff_rm_metadata); i++) { + tag = av_metadata_get(ctx->metadata, ff_rm_metadata[i], NULL, 0); + if(tag) size += strlen(tag->value); + } put_be32(s,size); put_be16(s,0); - put_str(s, ctx->title); - put_str(s, ctx->author); - put_str(s, ctx->copyright); - put_str(s, ctx->comment); + for(i=0; i<FF_ARRAY_ELEMS(ff_rm_metadata); i++) { + tag = av_metadata_get(ctx->metadata, ff_rm_metadata[i], NULL, 0); + put_str(s, tag ? tag->value : ""); + } for(i=0;i<ctx->nb_streams;i++) { int codec_data_size;