diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 059e6a36765ea91a3ca09f36fd3aa80a3ab238c9..a2dc93fafcbba141160a0a3884ffdd6de7c04eb5 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 ec1cf16b58fb5874ed9a88c5d8ed37b382d0e754..f856fbd6b6a99fcfc96db847eccee1dc9cd25918 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 */