| Index: patched-ffmpeg-mt/libavformat/nutenc.c
|
| ===================================================================
|
| --- patched-ffmpeg-mt/libavformat/nutenc.c (revision 41250)
|
| +++ patched-ffmpeg-mt/libavformat/nutenc.c (working copy)
|
| @@ -448,7 +448,7 @@
|
|
|
| static int write_globalinfo(NUTContext *nut, ByteIOContext *bc){
|
| AVFormatContext *s= nut->avf;
|
| - AVMetadataTag *title, *author, *copyright;
|
| + AVMetadataTag *t = NULL;
|
| ByteIOContext *dyn_bc;
|
| uint8_t *dyn_buf=NULL;
|
| int count=0, dyn_size;
|
| @@ -456,16 +456,9 @@
|
| if(ret < 0)
|
| return ret;
|
|
|
| - 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);
|
| + while ((t = av_metadata_get(s->metadata, "", t, AV_METADATA_IGNORE_SUFFIX)))
|
| + count += add_info(dyn_bc, t->key, t->value);
|
|
|
| - 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);
|
| -
|
| put_v(bc, 0); //stream_if_plus1
|
| put_v(bc, 0); //chapter_id
|
| put_v(bc, 0); //timestamp_start
|
| @@ -804,6 +797,9 @@
|
| while(nut->header_count<3)
|
| write_headers(nut, bc);
|
| put_flush_packet(bc);
|
| + ff_nut_free_sp(nut);
|
| + av_freep(&nut->stream);
|
| + av_freep(&nut->time_base);
|
|
|
| return 0;
|
| }
|
| @@ -827,4 +823,5 @@
|
| write_trailer,
|
| .flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
| .codec_tag= (const AVCodecTag* const []){ff_codec_bmp_tags, ff_codec_wav_tags, ff_nut_subtitle_tags, 0},
|
| + .metadata_conv = ff_nut_metadata_conv,
|
| };
|
|
|