aboutsummaryrefslogtreecommitdiff
path: root/graphics/video
diff options
context:
space:
mode:
authorSven Hesse2009-11-30 01:58:15 +0000
committerSven Hesse2009-11-30 01:58:15 +0000
commit8ede0caf72b82dd7cf211428fdb5985ca72c0a28 (patch)
treebdcc9266020ae743e2e25b26d0579af1fb58d3fb /graphics/video
parent0894fa39b29abd92d4ff4854c586b4b3942ab1a0 (diff)
downloadscummvm-rg350-8ede0caf72b82dd7cf211428fdb5985ca72c0a28.tar.gz
scummvm-rg350-8ede0caf72b82dd7cf211428fdb5985ca72c0a28.tar.bz2
scummvm-rg350-8ede0caf72b82dd7cf211428fdb5985ca72c0a28.zip
Properly clear the chunk headers again on closing
svn-id: r46209
Diffstat (limited to 'graphics/video')
-rw-r--r--graphics/video/avi_decoder.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/graphics/video/avi_decoder.cpp b/graphics/video/avi_decoder.cpp
index 5eb4d3988f..463a4eaccc 100644
--- a/graphics/video/avi_decoder.cpp
+++ b/graphics/video/avi_decoder.cpp
@@ -273,17 +273,25 @@ void AviDecoder::closeFile() {
delete[] _videoFrameBuffer;
_videoFrameBuffer = 0;
-
+
// Deinitialize sound
_mixer->stopHandle(*_audHandle);
-
+ _audStream = 0;
+
_decodedHeader = false;
-
+
delete _videoCodec;
_videoCodec = 0;
delete[] _ixInfo.indices;
_ixInfo.indices = 0;
+
+ memset(_palette, 0, sizeof(_palette));
+ memset(&_wvInfo, 0, sizeof(PCMWAVEFORMAT));
+ memset(&_bmInfo, 0, sizeof(BITMAPINFOHEADER));
+ memset(&_vidsHeader, 0, sizeof(AVIStreamHeader));
+ memset(&_audsHeader, 0, sizeof(AVIStreamHeader));
+ memset(&_ixInfo, 0, sizeof(AVIOLDINDEX));
}
Surface *AviDecoder::getNextFrame() {