diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-12-14 20:05:54 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-12-18 08:50:02 +0100 |
commit | 244d2fcc49452f3c5aa0f4899c7c0c03ccc6a69e (patch) | |
tree | 605b97571e0a5a6d9ac238b6c70db57f19ae659b | |
parent | 6cb231e3789679396e7c4b4093d182b655de0759 (diff) | |
download | ffmpeg-244d2fcc49452f3c5aa0f4899c7c0c03ccc6a69e.tar.gz |
fftools/ffmpeg_mux: deduplicate uniniting EncStats
-rw-r--r-- | fftools/ffmpeg_mux.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/fftools/ffmpeg_mux.c b/fftools/ffmpeg_mux.c index 88ce3cd60c..357f34172f 100644 --- a/fftools/ffmpeg_mux.c +++ b/fftools/ffmpeg_mux.c @@ -773,6 +773,13 @@ int of_write_trailer(OutputFile *of) return mux_result; } +static void enc_stats_uninit(EncStats *es) +{ + for (int i = 0; i < es->nb_components; i++) + av_freep(&es->components[i].str); + av_freep(&es->components); +} + static void ost_free(OutputStream **post) { OutputStream *ost = *post; @@ -818,17 +825,9 @@ static void ost_free(OutputStream **post) av_freep(&ost->enc_ctx->stats_in); avcodec_free_context(&ost->enc_ctx); - for (int i = 0; i < ost->enc_stats_pre.nb_components; i++) - av_freep(&ost->enc_stats_pre.components[i].str); - av_freep(&ost->enc_stats_pre.components); - - for (int i = 0; i < ost->enc_stats_post.nb_components; i++) - av_freep(&ost->enc_stats_post.components[i].str); - av_freep(&ost->enc_stats_post.components); - - for (int i = 0; i < ms->stats.nb_components; i++) - av_freep(&ms->stats.components[i].str); - av_freep(&ms->stats.components); + enc_stats_uninit(&ost->enc_stats_pre); + enc_stats_uninit(&ost->enc_stats_post); + enc_stats_uninit(&ms->stats); av_freep(post); } |