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>
release/0.10
Reimar Döffinger 13 years ago
parent 178f8ea76e
commit d393f41a33
  1. 6
      ffmpeg.c

@ -1065,6 +1065,8 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost,
exit_program(1); exit_program(1);
} }
ret = pkt.size;
if (got_packet) { if (got_packet) {
pkt.stream_index = ost->index; pkt.stream_index = ost->index;
if (pkt.pts != AV_NOPTS_VALUE) if (pkt.pts != AV_NOPTS_VALUE)
@ -1075,12 +1077,14 @@ static int encode_audio_frame(AVFormatContext *s, OutputStream *ost,
write_frame(s, &pkt, ost); write_frame(s, &pkt, ost);
audio_size += pkt.size; audio_size += pkt.size;
av_free_packet(&pkt);
} }
if (frame) if (frame)
ost->sync_opts += frame->nb_samples; ost->sync_opts += frame->nb_samples;
return pkt.size; return ret;
} }
static void do_audio_out(AVFormatContext *s, OutputStream *ost, static void do_audio_out(AVFormatContext *s, OutputStream *ost,

Loading…
Cancel
Save