@ -251,7 +251,6 @@ static int apng_write_trailer(AVFormatContext *format_context)
if ( apng - > prev_packet ) {
if ( apng - > prev_packet ) {
ret = flush_packet ( format_context , NULL ) ;
ret = flush_packet ( format_context , NULL ) ;
av_freep ( & apng - > prev_packet ) ;
if ( ret < 0 )
if ( ret < 0 )
return ret ;
return ret ;
}
}
@ -266,12 +265,18 @@ static int apng_write_trailer(AVFormatContext *format_context)
apng_write_chunk ( io_context , MKBETAG ( ' a ' , ' c ' , ' T ' , ' L ' ) , buf , 8 ) ;
apng_write_chunk ( io_context , MKBETAG ( ' a ' , ' c ' , ' T ' , ' L ' ) , buf , 8 ) ;
}
}
av_freep ( & apng - > extra_data ) ;
apng - > extra_data = 0 ;
return 0 ;
return 0 ;
}
}
static void apng_deinit ( AVFormatContext * s )
{
APNGMuxContext * apng = s - > priv_data ;
av_packet_free ( & apng - > prev_packet ) ;
av_freep ( & apng - > extra_data ) ;
apng - > extra_data_size = 0 ;
}
# define OFFSET(x) offsetof(APNGMuxContext, x)
# define OFFSET(x) offsetof(APNGMuxContext, x)
# define ENC AV_OPT_FLAG_ENCODING_PARAM
# define ENC AV_OPT_FLAG_ENCODING_PARAM
static const AVOption options [ ] = {
static const AVOption options [ ] = {
@ -300,6 +305,7 @@ AVOutputFormat ff_apng_muxer = {
. write_header = apng_write_header ,
. write_header = apng_write_header ,
. write_packet = apng_write_packet ,
. write_packet = apng_write_packet ,
. write_trailer = apng_write_trailer ,
. write_trailer = apng_write_trailer ,
. deinit = apng_deinit ,
. priv_class = & apng_muxer_class ,
. priv_class = & apng_muxer_class ,
. flags = AVFMT_VARIABLE_FPS ,
. flags = AVFMT_VARIABLE_FPS ,
} ;
} ;