From b100eab86950e4b48a8435d6b40f4c577a86ea93 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 15 Sep 2004 00:35:18 +0000 Subject: [PATCH] changing size segfault fix Originally committed as revision 3463 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/mpegvideo.c | 3 +++ libavcodec/utils.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 325fe2033f..93b0431bdf 100644 --- a/libavcodec/mpegvideo.c +++ b/libavcodec/mpegvideo.c @@ -860,9 +860,12 @@ void MPV_common_end(MpegEncContext *s) s->last_picture_ptr= s->next_picture_ptr= s->current_picture_ptr= NULL; + s->linesize= s->uvlinesize= 0; for(i=0; i<3; i++) av_freep(&s->visualization_buffer[i]); + + avcodec_default_free_buffers(s->avctx); } #ifdef CONFIG_ENCODERS diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 5e43d4452d..a34a65db71 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -31,7 +31,7 @@ #include #include -static void avcodec_default_free_buffers(AVCodecContext *s); +void avcodec_default_free_buffers(AVCodecContext *s); void *av_mallocz(unsigned int size) { @@ -760,7 +760,7 @@ void avcodec_flush_buffers(AVCodecContext *avctx) avctx->codec->flush(avctx); } -static void avcodec_default_free_buffers(AVCodecContext *s){ +void avcodec_default_free_buffers(AVCodecContext *s){ int i, j; if(s->internal_buffer==NULL) return;