From 36393434782b013ebacc8c30dd3c93531e2b197d Mon Sep 17 00:00:00 2001 From: Anshul Maheshwari Date: Sat, 21 Jun 2014 13:03:36 +0200 Subject: [PATCH] ffmpeg: fix memleak and corruption of AVSubtitle with multiple outputs Signed-off-by: Michael Niedermayer --- ffmpeg.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ffmpeg.c b/ffmpeg.c index 1af3e0e5f9..9d9c4f40db 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -805,6 +805,8 @@ static void do_subtitle_out(AVFormatContext *s, if (output_files[ost->file_index]->start_time != AV_NOPTS_VALUE) pts -= output_files[ost->file_index]->start_time; for (i = 0; i < nb; i++) { + unsigned save_num_rects = sub->num_rects; + ost->sync_opts = av_rescale_q(pts, AV_TIME_BASE_Q, enc->time_base); if (!check_recording_time(ost)) return; @@ -821,6 +823,8 @@ static void do_subtitle_out(AVFormatContext *s, subtitle_out_size = avcodec_encode_subtitle(enc, subtitle_out, subtitle_out_max_size, sub); + if (i == 1) + sub->num_rects = save_num_rects; if (subtitle_out_size < 0) { av_log(NULL, AV_LOG_FATAL, "Subtitle encoding failed\n"); exit_program(1);