diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2012-01-17 20:55:54 +0100 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2012-01-17 22:16:07 +0100 |
commit | d393f41a33abc093a6a5ca1999e6c2515a86498a (patch) | |
tree | 03b755ebabcd342d33852879e14c74dc5e9f905e | |
parent | 178f8ea76e52f79e2b7f4a01973d11f5c518f915 (diff) | |
download | ffmpeg-d393f41a33abc093a6a5ca1999e6c2515a86498a.tar.gz |
Fix memleak after switch to encode_audio2 API.
Obviously the packet allocated by the encoder must be freed somewhere.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
-rw-r--r-- | ffmpeg.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1065,6 +1065,8 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost, exit_program(1); } + ret = pkt.size; + if (got_packet) { pkt.stream_index = ost->index; if (pkt.pts != AV_NOPTS_VALUE) @@ -1075,12 +1077,14 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost, write_frame(s, &pkt, ost); audio_size += pkt.size; + + av_free_packet(&pkt); } if (frame) ost->sync_opts += frame->nb_samples; - return pkt.size; + return ret; } static void do_audio_out(AVFormatContext *s, OutputStream *ost, |