doc/examples: fix mem issues in filtering_video.
authorClément Bœsch <clement@stupeflix.com>
Tue, 19 Nov 2013 09:31:39 +0000 (10:31 +0100)
committerClément Bœsch <clement@stupeflix.com>
Tue, 19 Nov 2013 09:31:39 +0000 (10:31 +0100)
doc/examples/filtering_video.c

index d3c33df..3a26b1a 100644 (file)
@@ -36,6 +36,7 @@
 #include <libavfilter/avcodec.h>
 #include <libavfilter/buffersink.h>
 #include <libavfilter/buffersrc.h>
+#include <libavutil/opt.h>
 
 const char *filter_descr = "scale=78:24";
 
@@ -70,6 +71,7 @@ static int open_input_file(const char *filename)
     }
     video_stream_index = ret;
     dec_ctx = fmt_ctx->streams[video_stream_index]->codec;
+    av_opt_set_int(dec_ctx, "refcounted_frames", 1, 0);
 
     /* init the video decoder */
     if ((ret = avcodec_open2(dec_ctx, dec, NULL)) < 0) {
@@ -228,6 +230,7 @@ int main(int argc, char **argv)
                     display_frame(filt_frame, buffersink_ctx->inputs[0]->time_base);
                     av_frame_unref(filt_frame);
                 }
+                av_frame_unref(frame);
             }
         }
         av_free_packet(&packet);