diff options
-rw-r--r-- | engines/gob/coktelvideo.cpp | 8 | ||||
-rw-r--r-- | engines/gob/videoplayer.cpp | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/engines/gob/coktelvideo.cpp b/engines/gob/coktelvideo.cpp index 882422dd84..e8a63a6fe7 100644 --- a/engines/gob/coktelvideo.cpp +++ b/engines/gob/coktelvideo.cpp @@ -1068,9 +1068,13 @@ CoktelVideo::State Vmd::processFrame(uint16 frame) { // Next sound slice data if (part.flags == 1) { - if (_soundEnabled) + if (_soundEnabled) { filledSoundSlice(part.size); - else + + if (_soundStage == 1) + startSound = true; + + } else _stream->skip(part.size); // Initial sound data (all slices) diff --git a/engines/gob/videoplayer.cpp b/engines/gob/videoplayer.cpp index ccf48b792e..905c309023 100644 --- a/engines/gob/videoplayer.cpp +++ b/engines/gob/videoplayer.cpp @@ -177,8 +177,12 @@ void VideoPlayer::play(int16 startFrame, int16 lastFrame, int16 breakKey, endFrame = lastFrame; palCmd &= 0x3F; - if (_video->getCurrentFrame() != startFrame) - _video->seekFrame(startFrame); + if (_video->getCurrentFrame() != startFrame) { + if (_video->getFeatures() & CoktelVideo::kFeaturesSound) + startFrame = _video->getCurrentFrame(); + else + _video->seekFrame(startFrame); + } _vm->_draw->_showCursor = 0; _vm->_util->setFrameRate(12); |