From b9b5bf07db1b7b96ead7e5bcfbefa77db86c3e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Wed, 5 Aug 2009 10:40:06 +0000 Subject: [PATCH] Fixed bugs when freeing the AVCodecEncoder. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32126 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp index 43853188e1..9ac7c2bbb0 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp @@ -54,6 +54,16 @@ AVCodecEncoder::AVCodecEncoder(uint32 codecID, int bitRateScale) av_fifo_init(&fAudioFifo, 0); + fDstFrame.data[0] = NULL; + fDstFrame.data[1] = NULL; + fDstFrame.data[2] = NULL; + fDstFrame.data[3] = NULL; + + fDstFrame.linesize[0] = 0; + fDstFrame.linesize[1] = 0; + fDstFrame.linesize[2] = 0; + fDstFrame.linesize[3] = 0; + // Initial parameters, so we know if the user changed them fEncodeParameters.avg_field_size = 0; fEncodeParameters.max_field_size = 0; @@ -67,7 +77,8 @@ AVCodecEncoder::~AVCodecEncoder() _CloseCodecIfNeeded(); - sws_freeContext(fSwsContext); + if (fSwsContext != NULL) + sws_freeContext(fSwsContext); av_fifo_free(&fAudioFifo);