@ -448,6 +448,7 @@ static int add_info(ByteIOContext *bc, const char *type, const char *value){
static int write_globalinfo ( NUTContext * nut , ByteIOContext * bc ) {
static int write_globalinfo ( NUTContext * nut , ByteIOContext * bc ) {
AVFormatContext * s = nut - > avf ;
AVFormatContext * s = nut - > avf ;
AVMetadataTag * title , * author , * copyright ;
ByteIOContext * dyn_bc ;
ByteIOContext * dyn_bc ;
uint8_t * dyn_buf = NULL ;
uint8_t * dyn_buf = NULL ;
int count = 0 , dyn_size ;
int count = 0 , dyn_size ;
@ -455,9 +456,13 @@ static int write_globalinfo(NUTContext *nut, ByteIOContext *bc){
if ( ret < 0 )
if ( ret < 0 )
return ret ;
return ret ;
if ( s - > title [ 0 ] ) count + = add_info ( dyn_bc , " Title " , s - > title ) ;
title = av_metadata_get ( s - > metadata , " Title " , NULL , 0 ) ;
if ( s - > author [ 0 ] ) count + = add_info ( dyn_bc , " Author " , s - > author ) ;
author = av_metadata_get ( s - > metadata , " Author " , NULL , 0 ) ;
if ( s - > copyright [ 0 ] ) count + = add_info ( dyn_bc , " Copyright " , s - > copyright ) ;
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 ) )
if ( ! ( s - > streams [ 0 ] - > codec - > flags & CODEC_FLAG_BITEXACT ) )
count + = add_info ( dyn_bc , " Encoder " , LIBAVFORMAT_IDENT ) ;
count + = add_info ( dyn_bc , " Encoder " , LIBAVFORMAT_IDENT ) ;