From c68be8e135ddcd8a043142d26a5fdc4ef01b1218 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Tue, 1 Feb 2011 21:52:07 +0100 Subject: [PATCH] Make avfilter_graph_parse() not free the input graph Make avfilter_graph_parse() only release the internal structures allocated during the parsing, and leave to free the graph itself to the calling code. This approach looks cleaner, as the graph is not allocated by the function. Signed-off-by: Mans Rullgard (cherry picked from commit e8e5dde779fca80d86e00baea26d1baca333f4c0) --- libavfilter/graphparser.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavfilter/graphparser.c b/libavfilter/graphparser.c index 7151e4febc..47179e5e54 100644 --- a/libavfilter/graphparser.c +++ b/libavfilter/graphparser.c @@ -393,7 +393,9 @@ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, return 0; fail: - avfilter_graph_free(graph); + for (; graph->filter_count > 0; graph->filter_count--) + avfilter_free(graph->filters[graph->filter_count - 1]); + av_freep(&graph->filters); free_inout(open_inputs); free_inout(open_outputs); free_inout(curr_inputs);