diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2011-02-01 23:52:07 +0300 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-02-04 05:55:11 +0300 |
commit | e8e5dde779fca80d86e00baea26d1baca333f4c0 (patch) | |
tree | d84ac150329f03f6d67fa69b55c4435ff894fb08 /libavfilter | |
parent | e6fb5a4f78a67ed815e39ba8ac3893fd631b9b1a (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')
-rw-r--r-- | libavfilter/graphparser.c | 4 |
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); |