summaryrefslogtreecommitdiff
path: root/libavfilter/avfiltergraph.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-02-01 20:02:17 +0100
committerMans Rullgard <mans@mansr.com>2011-02-04 02:55:11 +0000
commit4359288c565705d1734f63d277f8918ee5af5e54 (patch)
treef558512cc95ab6e2157bce2b56d6be911f0a0273 /libavfilter/avfiltergraph.c
parente8e5dde779fca80d86e00baea26d1baca333f4c0 (diff)
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>
Diffstat (limited to 'libavfilter/avfiltergraph.c')
-rw-r--r--libavfilter/avfiltergraph.c13
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)