From 33a1f1a3c13d1af2051a46ee347f13a3580ed178 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 27 May 2002 19:47:57 +0000 Subject: [PATCH] fixing stackoverflow Originally committed as revision 618 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 103dc0dea..e93d73003 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -417,10 +417,14 @@ static void do_video_out(AVFormatContext *s, int n1, n2, nb, i, ret, frame_number, dec_frame_rate; AVPicture *picture, *picture2, *pict; AVPicture picture_tmp1, picture_tmp2; - UINT8 video_buffer[1024*1024]; + UINT8 *video_buffer; UINT8 *buf = NULL, *buf1 = NULL; AVCodecContext *enc, *dec; +#define VIDEO_BUFFER_SIZE (1024*1024) + video_buffer= av_malloc(VIDEO_BUFFER_SIZE); + if(!video_buffer) return; + enc = &ost->st->codec; dec = &ist->st->codec; @@ -501,7 +505,7 @@ static void do_video_out(AVFormatContext *s, } ret = avcodec_encode_video(enc, - video_buffer, sizeof(video_buffer), + video_buffer, VIDEO_BUFFER_SIZE, picture); //enc->frame_number = enc->real_pict_num; s->oformat->write_packet(s, ost->index, video_buffer, ret, 0); @@ -516,6 +520,7 @@ static void do_video_out(AVFormatContext *s, the_end: av_free(buf); av_free(buf1); + av_free(video_buffer); } static void do_video_stats(AVOutputStream *ost, -- 2.11.0