diff options
Diffstat (limited to 'graphics/video/qt_decoder.cpp')
-rw-r--r-- | graphics/video/qt_decoder.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/graphics/video/qt_decoder.cpp b/graphics/video/qt_decoder.cpp index 8437f0af43..879e4d076e 100644 --- a/graphics/video/qt_decoder.cpp +++ b/graphics/video/qt_decoder.cpp @@ -36,6 +36,7 @@ #include "common/debug.h" #include "common/endian.h" #include "common/macresman.h" +#include "common/memstream.h" #include "common/util.h" #include "common/zlib.h" @@ -1331,4 +1332,23 @@ void QuickTimeDecoder::updateAudioBuffer() { } } +QuickTimeDecoder::MOVStreamContext::MOVStreamContext() { + // FIXME: Setting all members to 0 via memset is a hack -- it works + // because the only non-POD member of MOVStreamContext is of type + // Common::Rational, and that luckily has no virtual methods nor + // does it keep internal pointers or anything like that. But watch + // out if you ever extend MOVStreamContext! + memset(this, 0, sizeof(MOVStreamContext)); +} + +QuickTimeDecoder::MOVStreamContext::~MOVStreamContext() { + delete[] chunk_offsets; + delete[] stts_data; + delete[] ctts_data; + delete[] sample_to_chunk; + delete[] sample_sizes; + delete[] keyframes; + delete extradata; +} + } // End of namespace Graphics |