[FFmpeg-cvslog] avprobe: close opened codecs after use

Janne Grunau git at videolan.org
Wed May 16 02:30:33 CEST 2012


ffmpeg | branch: master | Janne Grunau <janne-libav at jannau.net> | Mon May 14 12:23:10 2012 +0200| [093c50a4f6402bd0481df03e43fbba1dc3630f49] | committer: Janne Grunau

avprobe: close opened codecs after use

Fixes "memleak" on closing avprobe to make valgrind happy.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=093c50a4f6402bd0481df03e43fbba1dc3630f49
---

 avprobe.c |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/avprobe.c b/avprobe.c
index 8d2ec24..a3c1f80 100644
--- a/avprobe.c
+++ b/avprobe.c
@@ -352,6 +352,20 @@ static int open_input_file(AVFormatContext **fmt_ctx_ptr, const char *filename)
     return 0;
 }
 
+static void close_input_file(AVFormatContext **ctx_ptr)
+{
+    int i;
+    AVFormatContext *fmt_ctx = *ctx_ptr;
+
+    /* close decoder for each stream */
+    for (i = 0; i < fmt_ctx->nb_streams; i++) {
+        AVStream *stream = fmt_ctx->streams[i];
+
+        avcodec_close(stream->codec);
+    }
+    avformat_close_input(ctx_ptr);
+}
+
 static int probe_file(const char *filename)
 {
     AVFormatContext *fmt_ctx;
@@ -370,7 +384,7 @@ static int probe_file(const char *filename)
     if (do_show_format)
         show_format(fmt_ctx);
 
-    avformat_close_input(&fmt_ctx);
+    close_input_file(&fmt_ctx);
     return 0;
 }
 



More information about the ffmpeg-cvslog mailing list