diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2011-02-01 20:02:17 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-02-06 20:31:42 +0100 |
commit | ab543afe47c5bc63622acce775189bb920638126 (patch) | |
tree | 66728e92d84dd52f924adf8c0b5daf05855d629f /libavfilter/avfiltergraph.c | |
parent | c68be8e135ddcd8a043142d26a5fdc4ef01b1218 (diff) | |
download | ffmpeg-ab543afe47c5bc63622acce775189bb920638126.tar.gz |
Make avfilter_graph_free() free the graph.
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.
Simplify usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4359288c565705d1734f63d277f8918ee5af5e54)
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r-- | libavfilter/avfiltergraph.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index a62fe2f79d..bdf22b3df9 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -32,14 +32,15 @@ AVFilterGraph *avfilter_graph_alloc(void) return av_mallocz(sizeof(AVFilterGraph)); } -void avfilter_graph_free(AVFilterGraph *graph) +void avfilter_graph_free(AVFilterGraph **graph) { - if (!graph) + if (!*graph) return; - for (; graph->filter_count > 0; graph->filter_count --) - avfilter_free(graph->filters[graph->filter_count - 1]); - av_freep(&graph->scale_sws_opts); - av_freep(&graph->filters); + for (; (*graph)->filter_count > 0; (*graph)->filter_count--) + avfilter_free((*graph)->filters[(*graph)->filter_count - 1]); + av_freep(&(*graph)->scale_sws_opts); + av_freep(&(*graph)->filters); + av_freep(graph); } int avfilter_graph_add_filter(AVFilterGraph *graph, AVFilterContext *filter) |