[FFmpeg-devel] [PATCH 1/5] avfilter: free link in/out_formats in avfilter_destroy()

Mans Rullgard mans
Fri Aug 6 21:21:11 CEST 2010


---
 libavfilter/avfilter.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index c040a9c..d4ce977 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -428,13 +428,19 @@ void avfilter_destroy(AVFilterContext *filter)
         filter->filter->uninit(filter);
 
     for(i = 0; i < filter->input_count; i ++) {
-        if(filter->inputs[i])
+        if(filter->inputs[i]) {
             filter->inputs[i]->src->outputs[filter->inputs[i]->srcpad] = NULL;
+            avfilter_formats_unref(&filter->inputs[i]->in_formats);
+            avfilter_formats_unref(&filter->inputs[i]->out_formats);
+        }
         av_freep(&filter->inputs[i]);
     }
     for(i = 0; i < filter->output_count; i ++) {
-        if(filter->outputs[i])
+        if(filter->outputs[i]) {
             filter->outputs[i]->dst->inputs[filter->outputs[i]->dstpad] = NULL;
+            avfilter_formats_unref(&filter->outputs[i]->in_formats);
+            avfilter_formats_unref(&filter->outputs[i]->out_formats);
+        }
         av_freep(&filter->outputs[i]);
     }
 
-- 
1.7.2




More information about the ffmpeg-devel mailing list