diff options
author | Anton Khirnov <anton@khirnov.net> | 2022-05-09 12:58:08 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2022-07-23 11:53:19 +0200 |
commit | dceccd4aebe92179f748ab71e048a927968c5b5a (patch) | |
tree | b76d86bccdd3c06c61615232275647b096ba96f5 /fftools/ffmpeg.c | |
parent | 52fee96ae9ed34041718d238223a207e2c018dae (diff) |
fftools/ffmpeg: move freeing 2pass input stats to a better place
The current placement of this free is historical - it used to be
followed by avcodec_close(), since removed.
The proper place for freeing the stats is currently right before the
encoder context itself is freed.
Diffstat (limited to 'fftools/ffmpeg.c')
-rw-r--r-- | fftools/ffmpeg.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 7b54280414..92a83c4253 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -588,6 +588,8 @@ static void ffmpeg_cleanup(int ret) av_dict_free(&ost->sws_dict); av_dict_free(&ost->swr_opts); + if (ost->enc_ctx) + av_freep(&ost->enc_ctx->stats_in); avcodec_free_context(&ost->enc_ctx); avcodec_parameters_free(&ost->ref_par); @@ -4359,9 +4361,6 @@ static int transcode(void) /* close each encoder */ for (i = 0; i < nb_output_streams; i++) { ost = output_streams[i]; - if (ost->encoding_needed) { - av_freep(&ost->enc_ctx->stats_in); - } total_packets_written += ost->packets_written; if (!ost->packets_written && (abort_on_flags & ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM)) { av_log(NULL, AV_LOG_FATAL, "Empty output on stream %d.\n", i); |