The ff_set_common_(formats|channel_layouts|samplerates) have to free their list in case it doesn't have an owner; therefore they tracked whether they attached it to an owner. But the list's refcount already contains such a counter, so we don't have to keep track of whether we have attached the list to an owner.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavfilter/formats.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 9e39d65a3c..cc73c5abcb 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -623,7 +623,7 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref) } #define SET_COMMON_FORMATS(ctx, fmts, ref_fn, unref_fn) \ - int count = 0, i; \ + int i; \ \ if (!fmts) \ return AVERROR(ENOMEM); \ @@ -634,7 +634,6 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref) if (ret < 0) { \ return ret; \ } \ - count++; \ } \ } \ for (i = 0; i < ctx->nb_outputs; i++) { \ @@ -643,13 +642,11 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref) if (ret < 0) { \ return ret; \ } \ - count++; \ } \ } \ \ - if (!count) { \ + if (!fmts->refcount) \ unref_fn(&fmts); \ - } \ \ return 0; -- 2.30.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".