[FFmpeg-cvslog] avconv: fix memleaks due to not freeing the AVFrame for audio

Justin Ruggles git at videolan.org
Tue Dec 6 01:53:38 CET 2011


ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Mon Dec  5 10:36:54 2011 -0500| [110d2af28e186d5ed120942f8b3d51acda59e341] | committer: Justin Ruggles

avconv: fix memleaks due to not freeing the AVFrame for audio

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

 avconv.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/avconv.c b/avconv.c
index 371a118..787ca9c 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;
 }
 



More information about the ffmpeg-cvslog mailing list