[FFmpeg-cvslog] ffmpeg: fix memleak and corruption of AVSubtitle with multiple outputs
Anshul Maheshwari
git at videolan.org
Sat Jun 21 14:53:28 CEST 2014
ffmpeg | branch: master | Anshul Maheshwari <anshul.ffmpeg at gmail.com> | Sat Jun 21 13:03:36 2014 +0200| [36393434782b013ebacc8c30dd3c93531e2b197d] | committer: Michael Niedermayer
ffmpeg: fix memleak and corruption of AVSubtitle with multiple outputs
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=36393434782b013ebacc8c30dd3c93531e2b197d
---
ffmpeg.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ffmpeg.c b/ffmpeg.c
index 1af3e0e..9d9c4f4 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);
More information about the ffmpeg-cvslog
mailing list