diff options
Diffstat (limited to 'graphics/video/avi_decoder.cpp')
-rw-r--r-- | graphics/video/avi_decoder.cpp | 14 |
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() { |