aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-02-01 21:52:07 +0100
committerMans Rullgard <mans@mansr.com>2011-02-04 02:55:11 +0000
commite8e5dde779fca80d86e00baea26d1baca333f4c0 (patch)
treed84ac150329f03f6d67fa69b55c4435ff894fb08
parente6fb5a4f78a67ed815e39ba8ac3893fd631b9b1a (diff)
downloadffmpeg-e8e5dde779fca80d86e00baea26d1baca333f4c0.tar.gz
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 <mans@mansr.com>
-rw-r--r--libavfilter/graphparser.c4
1 files changed, 3 insertions, 1 deletions
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);