diff options
| -rw-r--r-- | video/video_decoder.cpp | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/video/video_decoder.cpp b/video/video_decoder.cpp index 24287c4d33..b4f44d91b5 100644 --- a/video/video_decoder.cpp +++ b/video/video_decoder.cpp @@ -342,19 +342,23 @@ void VideoDecoder::stop() {  	if (!isPlaying())  		return; +	// Stop audio here so we don't have it affect getTime() +	stopAudio(); + +	// Keep the time marked down in case we start up again +	// We do this before _isPlaying is set so we don't get +	// _lastTimeChange returned, but before _pauseLevel is +	// reset. +	_lastTimeChange = getTime(); +  	_isPlaying = false;  	_startTime = 0;  	_palette = 0;  	_dirtyPalette = false;  	_needsUpdate = false; -	stopAudio(); -  	// Also reset the pause state.  	_pauseLevel = 0; - -	// Keep the time marked down in case we start up again -	_lastTimeChange = getTime();  }  Audio::Timestamp VideoDecoder::getDuration() const { | 
