From 110d2af28e186d5ed120942f8b3d51acda59e341 Mon Sep 17 00:00:00 2001
From: Justin Ruggles <justin.ruggles@gmail.com>
Date: Mon, 5 Dec 2011 10:36:54 -0500
Subject: avconv: fix memleaks due to not freeing the AVFrame for audio

---
 avconv.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/avconv.c b/avconv.c
index 371a1183de..787ca9c219 100644
--- a/avconv.c
+++ b/avconv.c
@@ -1633,6 +1633,7 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
 
     if (!*got_output) {
         /* no audio frame */
+        av_freep(&decoded_frame);
         return ret;
     }
 
@@ -1700,6 +1701,7 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
             av_log(NULL, AV_LOG_FATAL,
                    "Audio volume adjustment on sample format %s is not supported.\n",
                    av_get_sample_fmt_name(ist->st->codec->sample_fmt));
+            av_freep(&decoded_frame);
             exit_program(1);
         }
     }
@@ -1713,6 +1715,8 @@ static int transcode_audio(InputStream *ist, AVPacket *pkt, int *got_output)
             continue;
         do_audio_out(output_files[ost->file_index].ctx, ost, ist, decoded_frame);
     }
+
+    av_freep(&decoded_frame);
     return ret;
 }
 
-- 
cgit v1.2.3