aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/qt_decoder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/video/qt_decoder.cpp')
-rw-r--r--graphics/video/qt_decoder.cpp20
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