summaryrefslogtreecommitdiff
path: root/libavfilter/graphparser.c
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 /libavfilter/graphparser.c
parente6fb5a4f78a67ed815e39ba8ac3893fd631b9b1a (diff)
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>
Diffstat (limited to 'libavfilter/graphparser.c')
-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);