diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 059e6a3676..a2dc93fafc 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -84,7 +84,7 @@ static const AVClass filter_parser_class = { static const AVClass *log_ctx = &filter_parser_class; -static void uninit(AVFilterGraph *graph) +void avfilter_destroy_graph(AVFilterGraph *graph) { for(; graph->filter_count > 0; graph->filter_count --) avfilter_destroy(graph->filters[graph->filter_count - 1]); @@ -306,7 +306,7 @@ static int load_from_desc(AVFilterGraph *graph, AVFilterGraphDesc *desc, AVFilte return 0; fail: - uninit(graph); + avfilter_destroy_graph(graph); return -1; } diff --git a/libavfilter/avfiltergraph.h b/libavfilter/avfiltergraph.h index ec1cf16b58..f856fbd6b6 100644 --- a/libavfilter/avfiltergraph.h +++ b/libavfilter/avfiltergraph.h @@ -58,4 +58,9 @@ int avfilter_graph_config_formats(AVFilterGraph *graphctx); */ int avfilter_graph_config_links(AVFilterGraph *graphctx); +/** + * Free a graph and destroy its links. + */ +void avfilter_destroy_graph(AVFilterGraph *graph); + #endif /* FFMPEG_AVFILTERGRAPH_H */