aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/coktel_decoder.h
diff options
context:
space:
mode:
authorSven Hesse2010-08-08 00:56:04 +0000
committerSven Hesse2010-08-08 00:56:04 +0000
commit1f630094268a76fd73e7a1f01e725aef2aa61e8e (patch)
tree354311c1f225b52a046183780017f3737d37259e /graphics/video/coktel_decoder.h
parentbab55f3a1d8f24e959fa98bda3a775452cc14198 (diff)
downloadscummvm-rg350-1f630094268a76fd73e7a1f01e725aef2aa61e8e.tar.gz
scummvm-rg350-1f630094268a76fd73e7a1f01e725aef2aa61e8e.tar.bz2
scummvm-rg350-1f630094268a76fd73e7a1f01e725aef2aa61e8e.zip
VIDEO/GOB: Stubb VMDDecoder
svn-id: r51896
Diffstat (limited to 'graphics/video/coktel_decoder.h')
-rw-r--r--graphics/video/coktel_decoder.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/graphics/video/coktel_decoder.h b/graphics/video/coktel_decoder.h
index 646e55b0bc..435f289c2c 100644
--- a/graphics/video/coktel_decoder.h
+++ b/graphics/video/coktel_decoder.h
@@ -324,6 +324,37 @@ private:
void emptySoundSlice(bool hasNextCmd);
};
+class VMDDecoder : public CoktelDecoder {
+public:
+ VMDDecoder(Audio::Mixer &mixer, Audio::Mixer::SoundType soundType = Audio::Mixer::kPlainSoundType);
+ ~VMDDecoder();
+
+ bool seek(int32 frame, int whence = SEEK_SET, bool restart = false);
+
+
+ // VideoDecoder interface
+
+ bool load(Common::SeekableReadStream &stream);
+ void close();
+
+ bool isVideoLoaded() const;
+
+ Surface *decodeNextFrame();
+
+ PixelFormat getPixelFormat() const;
+
+private:
+ Common::SeekableReadStream *_stream;
+
+ // Buffer for processed frame data
+ byte *_videoBuffer;
+ uint32 _videoBufferSize;
+
+ // Frame decoding
+ void processFrame();
+ void renderFrame();
+};
+
} // End of namespace Graphics
#endif // GRAPHICS_VIDEO_COKTELDECODER_H