diff options
-rw-r--r-- | engines/sword25/fmv/theora_decoder.cpp | 5 | ||||
-rw-r--r-- | engines/sword25/fmv/theora_decoder.h | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/engines/sword25/fmv/theora_decoder.cpp b/engines/sword25/fmv/theora_decoder.cpp index 7957cb0274..07cb56356d 100644 --- a/engines/sword25/fmv/theora_decoder.cpp +++ b/engines/sword25/fmv/theora_decoder.cpp @@ -509,6 +509,11 @@ uint32 TheoraDecoder::getElapsedTime() const { return VideoDecoder::getElapsedTime(); } +void TheoraDecoder::pauseVideoIntern(bool pause) { + if (_audStream) + g_system->getMixer()->pauseHandle(*_audHandle, pause); +} + enum TheoraYUVBuffers { kBufferY = 0, kBufferU = 1, diff --git a/engines/sword25/fmv/theora_decoder.h b/engines/sword25/fmv/theora_decoder.h index 4a646f19ce..10a05647c3 100644 --- a/engines/sword25/fmv/theora_decoder.h +++ b/engines/sword25/fmv/theora_decoder.h @@ -86,13 +86,15 @@ public: bool endOfVideo() const; +protected: + void pauseVideoIntern(bool pause); + private: void queuePage(ogg_page *page); bool queueAudio(); int bufferData(); void translateYUVtoRGBA(th_ycbcr_buffer &YUVBuffer); -private: Common::SeekableReadStream *_fileStream; Graphics::Surface *_surface; Common::Rational _frameRate; |