[Scummvm-git-logs] scummvm master -> a6a809f1c3234c072c795aed57142893e1888447
sev-
sev at scummvm.org
Wed Aug 19 11:45:55 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
a6a809f1c3 DIRECTOR: Moved DV loading to castmember.cpp
Commit: a6a809f1c3234c072c795aed57142893e1888447
https://github.com/scummvm/scummvm/commit/a6a809f1c3234c072c795aed57142893e1888447
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-08-19T13:45:15+02:00
Commit Message:
DIRECTOR: Moved DV loading to castmember.cpp
Changed paths:
engines/director/cast.cpp
engines/director/castmember.cpp
engines/director/castmember.h
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index abc0c3f223..f0787eb8cb 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -28,7 +28,6 @@
#include "graphics/macgui/macfontmanager.h"
#include "graphics/macgui/macwindowmanager.h"
#include "image/bmp.h"
-#include "video/qt_decoder.h"
#include "director/director.h"
#include "director/cast.h"
@@ -675,12 +674,9 @@ void Cast::loadDigitalVideoCasts() {
if (videoData == NULL || videoData->size() == 0) {
// video file is linked, load from the filesystem
- // TODO: detect file type (AVI, QuickTime, FLIC) based on magic number,
- // insert the right video decoder
- digitalVideoCast->_video = new Video::QuickTimeDecoder();
Common::String filename = _castsInfo[c->_key]->fileName;
Common::String directory = _castsInfo[c->_key]->directory;
- if (!digitalVideoCast->_video->loadFile(pathMakeRelative(directory + "\\" + filename))) {
+ if (!digitalVideoCast->loadVideo(pathMakeRelative(directory + "\\" + filename))) {
warning("Cast::loadDigitalVideoCasts: failed to load QuickTime file for cast member %d", videoId);
}
} else {
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 22f5ac6011..5ce36f98aa 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -295,6 +295,18 @@ DigitalVideoCastMember::~DigitalVideoCastMember() {
delete _video;
}
+bool DigitalVideoCastMember::loadVideo(Common::String path) {
+ // TODO: detect file type (AVI, QuickTime, FLIC) based on magic number,
+ // insert the right video decoder
+
+ _filename = path;
+ _video = new Video::QuickTimeDecoder();
+
+ debugC(2, kDebugLoading | kDebugImages, "Loading video %s", path.c_str());
+
+ return _video->loadFile(path);
+}
+
bool DigitalVideoCastMember::isModified() {
if (!_video)
return false;
@@ -315,7 +327,7 @@ Graphics::MacWidget *DigitalVideoCastMember::createWidget(Common::Rect &bbox, Ch
// FIXME: HACK: We need to understand when really start the video
if (!_video->isPlaying() && _channel->_movieRate != 0.0) {
_video->start();
- debugC(2, kDebugImages, "STARTING VIDEO");
+ debugC(2, kDebugImages, "STARTING VIDEO %s", _filename.c_str());
if (_channel->_stopTime == 0)
_channel->_stopTime = getMovieTotalTime();
diff --git a/engines/director/castmember.h b/engines/director/castmember.h
index 61420125b9..bcbc33f3e2 100644
--- a/engines/director/castmember.h
+++ b/engines/director/castmember.h
@@ -138,6 +138,9 @@ public:
virtual bool isModified() override;
virtual Graphics::MacWidget *createWidget(Common::Rect &bbox, Channel *channel) override;
+
+ bool loadVideo(Common::String path);
+
uint getMovieCurrentTime();
uint getMovieTotalTime();
void seekMovie(int stamp);
@@ -149,6 +152,8 @@ public:
Datum getField(int field) override;
bool setField(int field, const Datum &value) override;
+ Common::String _filename;
+
uint32 _vflags;
bool _looping;
bool _pausedAtStart;
More information about the Scummvm-git-logs
mailing list