Skip to content

Commit

Permalink
VIDEO: Change getElapsedTime() into getTime()
Browse files Browse the repository at this point in the history
This name change accompanies a slight meaning change; now it means the current time position from the beginning of the video and not from starting the video.
  • Loading branch information
Matthew Hoops committed May 13, 2012
1 parent 0f60595 commit 9e33017
Show file tree
Hide file tree
Showing 24 changed files with 47 additions and 42 deletions.
2 changes: 1 addition & 1 deletion engines/mohawk/myst_stacks/dni.cpp
Expand Up @@ -103,7 +103,7 @@ void Dni::o_handPage(uint16 op, uint16 var, uint16 argc, uint16 *argv) {
VideoHandle atrus = _vm->_video->findVideoHandle(_video);

// Good ending and Atrus asked to give page
if (_globals.ending == 1 && _vm->_video->getElapsedTime(atrus) > (uint)Audio::Timestamp(0, 6801, 600).msecs()) {
if (_globals.ending == 1 && _vm->_video->getTime(atrus) > (uint)Audio::Timestamp(0, 6801, 600).msecs()) {
_globals.ending = 2;
_globals.heldPage = 0;
_vm->setMainCursor(kDefaultMystCursor);
Expand Down
2 changes: 1 addition & 1 deletion engines/mohawk/riven.cpp
Expand Up @@ -979,7 +979,7 @@ void MohawkEngine_Riven::doVideoTimer(VideoHandle handle, bool force) {
return;

// Run the opcode if we can at this point
if (force || _video->getElapsedTime(handle) >= _scriptMan->getStoredMovieOpcodeTime())
if (force || _video->getTime(handle) >= _scriptMan->getStoredMovieOpcodeTime())
_scriptMan->runStoredMovieOpcode();
}

Expand Down
4 changes: 2 additions & 2 deletions engines/mohawk/riven_external.cpp
Expand Up @@ -2059,7 +2059,7 @@ void RivenExternal::xbookclick(uint16 argc, uint16 *argv) {
debug(0, "\tHotspot = %d -> %d", argv[3], hotspotMap[argv[3] - 1]);

// Just let the video play while we wait until Gehn opens the trap book for us
while (_vm->_video->getElapsedTime(video) < startTime && !_vm->shouldQuit()) {
while (_vm->_video->getTime(video) < startTime && !_vm->shouldQuit()) {
if (_vm->_video->updateMovies())
_vm->_system->updateScreen();

Expand All @@ -2084,7 +2084,7 @@ void RivenExternal::xbookclick(uint16 argc, uint16 *argv) {

// OK, Gehn has opened the trap book and has asked us to go in. Let's watch
// and see what the player will do...
while (_vm->_video->getElapsedTime(video) < endTime && !_vm->shouldQuit()) {
while (_vm->_video->getTime(video) < endTime && !_vm->shouldQuit()) {
bool updateScreen = _vm->_video->updateMovies();

Common::Event event;
Expand Down
6 changes: 3 additions & 3 deletions engines/mohawk/video.cpp
Expand Up @@ -49,7 +49,7 @@ void VideoEntry::clear() {
}

bool VideoEntry::endOfVideo() {
return !video || video->endOfVideo() || video->getElapsedTime() >= (uint)end.msecs();
return !video || video->endOfVideo() || video->getTime() >= (uint)end.msecs();
}

VideoManager::VideoManager(MohawkEngine* vm) : _vm(vm) {
Expand Down Expand Up @@ -481,9 +481,9 @@ uint32 VideoManager::getFrameCount(VideoHandle handle) {
return _videoStreams[handle]->getFrameCount();
}

uint32 VideoManager::getElapsedTime(VideoHandle handle) {
uint32 VideoManager::getTime(VideoHandle handle) {
assert(handle != NULL_VID_HANDLE);
return _videoStreams[handle]->getElapsedTime();
return _videoStreams[handle]->getTime();
}

uint32 VideoManager::getDuration(VideoHandle handle) {
Expand Down
2 changes: 1 addition & 1 deletion engines/mohawk/video.h
Expand Up @@ -100,7 +100,7 @@ class VideoManager {
VideoHandle findVideoHandle(const Common::String &filename);
int32 getCurFrame(VideoHandle handle);
uint32 getFrameCount(VideoHandle handle);
uint32 getElapsedTime(VideoHandle handle);
uint32 getTime(VideoHandle handle);
uint32 getDuration(VideoHandle videoHandle);
bool endOfVideo(VideoHandle handle);
void setVideoBounds(VideoHandle handle, Audio::Timestamp start, Audio::Timestamp end);
Expand Down
4 changes: 2 additions & 2 deletions engines/sword1/animation.cpp
Expand Up @@ -510,11 +510,11 @@ DXADecoderWithSound::DXADecoderWithSound(Audio::Mixer *mixer, Audio::SoundHandle
: _mixer(mixer), _bgSoundHandle(bgSoundHandle) {
}

uint32 DXADecoderWithSound::getElapsedTime() const {
uint32 DXADecoderWithSound::getTime() const {
if (_mixer->isSoundHandleActive(*_bgSoundHandle))
return _mixer->getSoundElapsedTime(*_bgSoundHandle);

return DXADecoder::getElapsedTime();
return DXADecoder::getTime();
}

///////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion engines/sword1/animation.h
Expand Up @@ -60,7 +60,7 @@ class DXADecoderWithSound : public Video::DXADecoder {
DXADecoderWithSound(Audio::Mixer *mixer, Audio::SoundHandle *bgSoundHandle);
~DXADecoderWithSound() {}

uint32 getElapsedTime() const;
uint32 getTime() const;

private:
Audio::Mixer *_mixer;
Expand Down
4 changes: 2 additions & 2 deletions engines/sword2/animation.cpp
Expand Up @@ -410,11 +410,11 @@ DXADecoderWithSound::DXADecoderWithSound(Audio::Mixer *mixer, Audio::SoundHandle
: _mixer(mixer), _bgSoundHandle(bgSoundHandle) {
}

uint32 DXADecoderWithSound::getElapsedTime() const {
uint32 DXADecoderWithSound::getTime() const {
if (_mixer->isSoundHandleActive(*_bgSoundHandle))
return _mixer->getSoundElapsedTime(*_bgSoundHandle);

return DXADecoder::getElapsedTime();
return DXADecoder::getTime();
}

///////////////////////////////////////////////////////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion engines/sword2/animation.h
Expand Up @@ -60,7 +60,7 @@ class DXADecoderWithSound : public Video::DXADecoder {
DXADecoderWithSound(Audio::Mixer *mixer, Audio::SoundHandle *bgSoundHandle);
~DXADecoderWithSound() {}

uint32 getElapsedTime() const;
uint32 getTime() const;
private:
Audio::Mixer *_mixer;
Audio::SoundHandle *_bgSoundHandle;
Expand Down
2 changes: 1 addition & 1 deletion engines/sword25/fmv/movieplayer.cpp
Expand Up @@ -167,7 +167,7 @@ void MoviePlayer::setScaleFactor(float scaleFactor) {
}

double MoviePlayer::getTime() {
return _decoder.getElapsedTime() / 1000.0;
return _decoder.getTime() / 1000.0;
}

#else // USE_THEORADEC
Expand Down
6 changes: 3 additions & 3 deletions engines/sword25/fmv/theora_decoder.cpp
Expand Up @@ -507,7 +507,7 @@ uint32 TheoraDecoder::getTimeToNextFrame() const {
if (endOfVideo() || _curFrame < 0)
return 0;

uint32 elapsedTime = getElapsedTime();
uint32 elapsedTime = getTime();
uint32 nextFrameStartTime = (uint32)(_nextFrameStartTime * 1000);

if (nextFrameStartTime <= elapsedTime)
Expand All @@ -516,11 +516,11 @@ uint32 TheoraDecoder::getTimeToNextFrame() const {
return nextFrameStartTime - elapsedTime;
}

uint32 TheoraDecoder::getElapsedTime() const {
uint32 TheoraDecoder::getTime() const {
if (_audStream)
return g_system->getMixer()->getSoundElapsedTime(*_audHandle);

return VideoDecoder::getElapsedTime();
return VideoDecoder::getTime();
}

void TheoraDecoder::pauseVideoIntern(bool pause) {
Expand Down
2 changes: 1 addition & 1 deletion engines/sword25/fmv/theora_decoder.h
Expand Up @@ -81,7 +81,7 @@ class TheoraDecoder : public Video::VideoDecoder {
}

Graphics::PixelFormat getPixelFormat() const { return _displaySurface.format; }
uint32 getElapsedTime() const;
uint32 getTime() const;
uint32 getTimeToNextFrame() const;

bool endOfVideo() const;
Expand Down
4 changes: 2 additions & 2 deletions video/avi_decoder.cpp
Expand Up @@ -305,11 +305,11 @@ void AviDecoder::close() {
reset();
}

uint32 AviDecoder::getElapsedTime() const {
uint32 AviDecoder::getTime() const {
if (_audStream)
return _mixer->getSoundElapsedTime(*_audHandle);

return FixedRateVideoDecoder::getElapsedTime();
return FixedRateVideoDecoder::getTime();
}

const Graphics::Surface *AviDecoder::decodeNextFrame() {
Expand Down
2 changes: 1 addition & 1 deletion video/avi_decoder.h
Expand Up @@ -195,7 +195,7 @@ class AviDecoder : public FixedRateVideoDecoder {
uint16 getWidth() const { return _header.width; }
uint16 getHeight() const { return _header.height; }
uint32 getFrameCount() const { return _header.totalFrames; }
uint32 getElapsedTime() const;
uint32 getTime() const;
const Graphics::Surface *decodeNextFrame();
Graphics::PixelFormat getPixelFormat() const;
const byte *getPalette() { _dirtyPalette = false; return _palette; }
Expand Down
2 changes: 1 addition & 1 deletion video/bink_decoder.cpp
Expand Up @@ -181,7 +181,7 @@ void BinkDecoder::close() {
_frames.clear();
}

uint32 BinkDecoder::getElapsedTime() const {
uint32 BinkDecoder::getTime() const {
if (_audioStream && g_system->getMixer()->isSoundHandleActive(_audioHandle))
return g_system->getMixer()->getSoundElapsedTime(_audioHandle) + _audioStartOffset;

Expand Down
2 changes: 1 addition & 1 deletion video/bink_decoder.h
Expand Up @@ -70,7 +70,7 @@ class BinkDecoder : public FixedRateVideoDecoder {
uint16 getHeight() const { return _surface.h; }
Graphics::PixelFormat getPixelFormat() const { return _surface.format; }
uint32 getFrameCount() const { return _frames.size(); }
uint32 getElapsedTime() const;
uint32 getTime() const;
const Graphics::Surface *decodeNextFrame();

// FixedRateVideoDecoder
Expand Down
6 changes: 3 additions & 3 deletions video/psx_decoder.cpp
Expand Up @@ -236,21 +236,21 @@ void PSXStreamDecoder::close() {
reset();
}

uint32 PSXStreamDecoder::getElapsedTime() const {
uint32 PSXStreamDecoder::getTime() const {
// TODO: Currently, the audio is always after the video so using this
// can often lead to gaps in the audio...
//if (_audStream)
// return _mixer->getSoundElapsedTime(_audHandle);

return VideoDecoder::getElapsedTime();
return VideoDecoder::getTime();
}

uint32 PSXStreamDecoder::getTimeToNextFrame() const {
if (!isVideoLoaded() || endOfVideo())
return 0;

uint32 nextTimeMillis = _nextFrameStartTime.msecs();
uint32 elapsedTime = getElapsedTime();
uint32 elapsedTime = getTime();

if (elapsedTime > nextTimeMillis)
return 0;
Expand Down
2 changes: 1 addition & 1 deletion video/psx_decoder.h
Expand Up @@ -75,7 +75,7 @@ class PSXStreamDecoder : public VideoDecoder {
uint16 getWidth() const { return _surface->w; }
uint16 getHeight() const { return _surface->h; }
uint32 getFrameCount() const { return _frameCount; }
uint32 getElapsedTime() const;
uint32 getTime() const;
uint32 getTimeToNextFrame() const;
const Graphics::Surface *decodeNextFrame();
Graphics::PixelFormat getPixelFormat() const { return _surface->format; }
Expand Down
6 changes: 3 additions & 3 deletions video/qt_decoder.cpp
Expand Up @@ -185,7 +185,7 @@ bool QuickTimeDecoder::endOfVideo() const {
return true;
}

uint32 QuickTimeDecoder::getElapsedTime() const {
uint32 QuickTimeDecoder::getTime() const {
// Try to base sync off an active audio track
for (uint32 i = 0; i < _audioHandles.size(); i++) {
if (g_system->getMixer()->isSoundHandleActive(_audioHandles[i])) {
Expand All @@ -196,7 +196,7 @@ uint32 QuickTimeDecoder::getElapsedTime() const {
}

// Just use time elapsed since the beginning
return SeekableVideoDecoder::getElapsedTime();
return SeekableVideoDecoder::getTime();
}

uint32 QuickTimeDecoder::getTimeToNextFrame() const {
Expand All @@ -211,7 +211,7 @@ uint32 QuickTimeDecoder::getTimeToNextFrame() const {

// TODO: Add support for rate modification

uint32 elapsedTime = getElapsedTime();
uint32 elapsedTime = getTime();

if (elapsedTime < nextFrameStartTime)
return nextFrameStartTime - elapsedTime;
Expand Down
2 changes: 1 addition & 1 deletion video/qt_decoder.h
Expand Up @@ -106,7 +106,7 @@ class QuickTimeDecoder : public SeekableVideoDecoder, public Audio::QuickTimeAud
bool isVideoLoaded() const { return isOpen(); }
const Graphics::Surface *decodeNextFrame();
bool endOfVideo() const;
uint32 getElapsedTime() const;
uint32 getTime() const;
uint32 getTimeToNextFrame() const;
Graphics::PixelFormat getPixelFormat() const;

Expand Down
4 changes: 2 additions & 2 deletions video/smk_decoder.cpp
Expand Up @@ -289,11 +289,11 @@ SmackerDecoder::~SmackerDecoder() {
close();
}

uint32 SmackerDecoder::getElapsedTime() const {
uint32 SmackerDecoder::getTime() const {
if (_audioStream && _audioStarted)
return _mixer->getSoundElapsedTime(_audioHandle);

return FixedRateVideoDecoder::getElapsedTime();
return FixedRateVideoDecoder::getTime();
}

bool SmackerDecoder::loadStream(Common::SeekableReadStream *stream) {
Expand Down
2 changes: 1 addition & 1 deletion video/smk_decoder.h
Expand Up @@ -69,7 +69,7 @@ class SmackerDecoder : public FixedRateVideoDecoder {
uint16 getWidth() const { return _surface->w; }
uint16 getHeight() const { return _surface->h; }
uint32 getFrameCount() const { return _frameCount; }
uint32 getElapsedTime() const;
uint32 getTime() const;
const Graphics::Surface *decodeNextFrame();
Graphics::PixelFormat getPixelFormat() const { return Graphics::PixelFormat::createFormatCLUT8(); }
const byte *getPalette() { _dirtyPalette = false; return _palette; }
Expand Down
4 changes: 2 additions & 2 deletions video/video_decoder.cpp
Expand Up @@ -45,7 +45,7 @@ bool VideoDecoder::loadFile(const Common::String &filename) {
return loadStream(file);
}

uint32 VideoDecoder::getElapsedTime() const {
uint32 VideoDecoder::getTime() const {
return g_system->getMillis() - _startTime;
}

Expand Down Expand Up @@ -98,7 +98,7 @@ uint32 FixedRateVideoDecoder::getTimeToNextFrame() const {
if (endOfVideo() || _curFrame < 0)
return 0;

uint32 elapsedTime = getElapsedTime();
uint32 elapsedTime = getTime();
uint32 nextFrameStartTime = getFrameBeginTime(_curFrame + 1);

// If the time that the next frame should be shown has past
Expand Down
15 changes: 10 additions & 5 deletions video/video_decoder.h
Expand Up @@ -125,15 +125,20 @@ class VideoDecoder {
virtual uint32 getFrameCount() const = 0;

/**
* Returns the time (in ms) that the video has been running.
* This is based on the "wall clock" time as determined by
* OSystem::getMillis, and takes pausing the video into account.
* Returns the time position (in ms) of the current video.
* This can be based on the "wall clock" time as determined by
* OSystem::getMillis() or the current time of any audio track
* running in the video, and takes pausing the video into account.
*
* As such, it can differ from what multiplying getCurFrame() by
* As such, it will differ from what multiplying getCurFrame() by
* some constant would yield, e.g. for a video with non-constant
* frame rate.
*
* Due to the nature of the timing, this value may not always be
* completely accurate (since our mixer does not have precise
* timing).
*/
virtual uint32 getElapsedTime() const;
virtual uint32 getTime() const;

/**
* Return the time (in ms) until the next frame should be displayed.
Expand Down

0 comments on commit 9e33017

Please sign in to comment.