Browse Source

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>
Stefano Sabatini 14 years ago
parent
commit
e8e5dde779
1 changed files with 3 additions and 1 deletions
  1. 3 1
      libavfilter/graphparser.c

+ 3 - 1
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);