diff --git a/src/modules/video/VideoStream.cpp b/src/modules/video/VideoStream.cpp index bd7612dbd..8e976951a 100644 --- a/src/modules/video/VideoStream.cpp +++ b/src/modules/video/VideoStream.cpp @@ -52,12 +52,12 @@ void VideoStream::seek(double offset) frameSync->seek(offset); } -double VideoStream::tell() +double VideoStream::tell() const { return frameSync->tell(); } -bool VideoStream::isPlaying() +bool VideoStream::isPlaying() const { return frameSync->isPlaying(); } diff --git a/src/modules/video/VideoStream.h b/src/modules/video/VideoStream.h index 5ce57f154..dfd6cbc2c 100644 --- a/src/modules/video/VideoStream.h +++ b/src/modules/video/VideoStream.h @@ -44,8 +44,8 @@ public: virtual void play(); virtual void pause(); virtual void seek(double offset); - virtual double tell(); - virtual bool isPlaying(); + virtual double tell() const; + virtual bool isPlaying() const; class FrameSync; class DeltaSync; diff --git a/src/modules/video/theora/VideoStream.cpp b/src/modules/video/theora/VideoStream.cpp index 326360aa8..0b6e91e3f 100644 --- a/src/modules/video/theora/VideoStream.cpp +++ b/src/modules/video/theora/VideoStream.cpp @@ -120,6 +120,11 @@ size_t VideoStream::getSize() const return sizeof(Frame); } +bool VideoStream::isPlaying() const +{ + return frameSync->isPlaying() && !eos; +} + void VideoStream::readPage() { char *syncBuffer = nullptr; diff --git a/src/modules/video/theora/VideoStream.h b/src/modules/video/theora/VideoStream.h index 4e28e941f..7eb1fcc7a 100644 --- a/src/modules/video/theora/VideoStream.h +++ b/src/modules/video/theora/VideoStream.h @@ -56,6 +56,8 @@ public: const std::string &getFilename() const; void setSync(FrameSync *frameSync); + bool isPlaying() const; + void threadedFillBackBuffer(double dt); private: