diff mbox series

[FFmpeg-devel,19/21] avfilter: Remove redundant ff_formats/channel_layouts_unref()

Message ID 20200809155748.30092-13-andreas.rheinhardt@gmail.com
State Accepted
Commit e013a71fe3cd8b544d1288a2ed80521fa35e44c1
Headers show
Series [FFmpeg-devel,1/6] avfilter/formats: Remove ff_make_formatu64_list()
Related show

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Andreas Rheinhardt Aug. 9, 2020, 3:57 p.m. UTC
ff_add_format() and ff_add_channel_layout() already unref the list upon
error.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
These ff_formats/channel_layouts_unref() also didn't do anything before
this patchset, as none of these lists has any owner.

 libavfilter/af_aformat.c       | 9 ++++-----
 libavfilter/vf_shuffleplanes.c | 1 -
 libavfilter/vf_weave.c         | 1 -
 3 files changed, 4 insertions(+), 7 deletions(-)

Comments

Nicolas George Aug. 9, 2020, 4:44 p.m. UTC | #1
Andreas Rheinhardt (12020-08-09):
> ff_add_format() and ff_add_channel_layout() already unref the list upon
> error.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> ---
> These ff_formats/channel_layouts_unref() also didn't do anything before
> this patchset, as none of these lists has any owner.

LGTM, good catch.

Regards,
diff mbox series

Patch

diff --git a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c
index 1a702778c3..0ea470014c 100644
--- a/libavfilter/af_aformat.c
+++ b/libavfilter/af_aformat.c
@@ -60,7 +60,7 @@  static const AVOption aformat_options[] = {
 
 AVFILTER_DEFINE_CLASS(aformat);
 
-#define PARSE_FORMATS(str, type, list, add_to_list, unref_fn, get_fmt, none, desc)    \
+#define PARSE_FORMATS(str, type, list, add_to_list, get_fmt, none, desc)    \
 do {                                                                        \
     char *next, *cur = str, sep;                                            \
     int ret;                                                                \
@@ -83,7 +83,6 @@  do {                                                                        \
             return AVERROR(EINVAL);                                         \
         }                                                                   \
         if ((ret = add_to_list(&list, fmt)) < 0) {                          \
-            unref_fn(&list);                                                \
             return ret;                                                     \
         }                                                                   \
                                                                             \
@@ -102,11 +101,11 @@  static av_cold int init(AVFilterContext *ctx)
     AFormatContext *s = ctx->priv;
 
     PARSE_FORMATS(s->formats_str, enum AVSampleFormat, s->formats,
-                  ff_add_format, ff_formats_unref, av_get_sample_fmt, AV_SAMPLE_FMT_NONE, "sample format");
-    PARSE_FORMATS(s->sample_rates_str, int, s->sample_rates, ff_add_format, ff_formats_unref,
+                  ff_add_format, av_get_sample_fmt, AV_SAMPLE_FMT_NONE, "sample format");
+    PARSE_FORMATS(s->sample_rates_str, int, s->sample_rates, ff_add_format,
                   get_sample_rate, 0, "sample rate");
     PARSE_FORMATS(s->channel_layouts_str, uint64_t, s->channel_layouts,
-                  ff_add_channel_layout, ff_channel_layouts_unref, av_get_channel_layout, 0,
+                  ff_add_channel_layout, av_get_channel_layout, 0,
                   "channel layout");
 
     return 0;
diff --git a/libavfilter/vf_shuffleplanes.c b/libavfilter/vf_shuffleplanes.c
index 6c718893ce..c5a376d50b 100644
--- a/libavfilter/vf_shuffleplanes.c
+++ b/libavfilter/vf_shuffleplanes.c
@@ -64,7 +64,6 @@  static int query_formats(AVFilterContext *ctx)
             if (i != 4)
                 continue;
             if ((ret = ff_add_format(&formats, fmt)) < 0) {
-                ff_formats_unref(&formats);
                 return ret;
             }
         }
diff --git a/libavfilter/vf_weave.c b/libavfilter/vf_weave.c
index 8951b09095..8d4eb3d5a4 100644
--- a/libavfilter/vf_weave.c
+++ b/libavfilter/vf_weave.c
@@ -60,7 +60,6 @@  static int query_formats(AVFilterContext *ctx)
         if (!(desc->flags & AV_PIX_FMT_FLAG_PAL) &&
             !(desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
             if ((ret = ff_add_format(&formats, fmt)) < 0) {
-                ff_formats_unref(&formats);
                 return ret;
             }
         }