[FFmpeg-cvslog] avfilter/avfiltergraph: Simplify adding filter to graph

Andreas Rheinhardt git at videolan.org
Sat Oct 2 17:59:09 EEST 2021


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Sep 28 08:07:43 2021 +0200| [22c4f3399133a62aa11f4af01e7dacea08d4ddae] | committer: Andreas Rheinhardt

avfilter/avfiltergraph: Simplify adding filter to graph

By reallocating the array of pointers to the AVFilterContexts
before allocating the new AVFilterContext one can avoid freeing
the new AVFilterContext in case the array could not be reallocated.

Also switch to av_realloc_array() while just at it.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=22c4f3399133a62aa11f4af01e7dacea08d4ddae
---

 libavfilter/avfiltergraph.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 45b028cd9c..ee0c82030d 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -183,17 +183,15 @@ AVFilterContext *avfilter_graph_alloc_filter(AVFilterGraph *graph,
         }
     }
 
-    s = ff_filter_alloc(filter, name);
-    if (!s)
+    filters = av_realloc_array(graph->filters, graph->nb_filters + 1, sizeof(*filters));
+    if (!filters)
         return NULL;
+    graph->filters = filters;
 
-    filters = av_realloc(graph->filters, sizeof(*filters) * (graph->nb_filters + 1));
-    if (!filters) {
-        avfilter_free(s);
+    s = ff_filter_alloc(filter, name);
+    if (!s)
         return NULL;
-    }
 
-    graph->filters = filters;
     graph->filters[graph->nb_filters++] = s;
 
     s->graph = graph;



More information about the ffmpeg-cvslog mailing list