From b2d39d7f5bf7257ef0a33765bab405cdcde07cdb Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 24 Aug 2004 12:55:15 +0000 Subject: [PATCH] Added s/getLoopingMode() to ImageStream and MPEG plugin --- ChangeLog | 28 +++++++++++++++++++++++++ include/osg/ImageStream | 12 +++++++++++ src/osg/ImageStream.cpp | 3 ++- src/osgPlugins/mpeg/MpegImageStream.cpp | 10 +++++++-- 4 files changed, 50 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e937c5a9b..f58169f2f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,31 @@ +2004-08-18 10:34 robert + + * NEWS.txt: Set date for 0.9.7-2 release + +2004-08-18 07:06 robert + + * src/osg/: dxtctool.cpp, dxtctool.h: Rejigged the __int* + definitions to try and get round Mingw compile errors + +2004-08-17 20:42 robert + + * src/osg/: dxtctool.cpp, dxtctool.h: From Bruce Clay, fixes for + VS6.0 build. + +2004-08-17 19:57 robert + + * include/osgUtil/RenderBin: From David Fries, added getBinNum() + method + +2004-08-17 19:56 robert + + * src/osg/PrimitiveSet.cpp: Changed sizeof(..) references to 1,2,4 + respectively. + +2004-08-17 09:14 robert + + * ChangeLog: Updated changelog + 2004-08-17 08:58 robert * include/osg/AutoTransform, src/osg/AutoTransform.cpp: From David diff --git a/include/osg/ImageStream b/include/osg/ImageStream index f36574f52..96f741f3d 100644 --- a/include/osg/ImageStream +++ b/include/osg/ImageStream @@ -55,6 +55,17 @@ class SG_EXPORT ImageStream : public Image StreamStatus getStatus() { return _status; } + + enum LoopingMode + { + NO_LOOPING, + LOOPING + }; + + void setLoopingMode(LoopingMode mode) { _loopingMode = mode; } + LoopingMode getLoopingMode() const { return _loopingMode; } + + virtual void setReferenceTime(double) {} virtual double getReferenceTime() const { return 0.0; } @@ -68,6 +79,7 @@ class SG_EXPORT ImageStream : public Image virtual ~ImageStream() {} StreamStatus _status; + LoopingMode _loopingMode; }; } // namespace diff --git a/src/osg/ImageStream.cpp b/src/osg/ImageStream.cpp index 63a1c4eca..bbff8822e 100644 --- a/src/osg/ImageStream.cpp +++ b/src/osg/ImageStream.cpp @@ -16,7 +16,8 @@ using namespace osg; ImageStream::ImageStream(): - _status(PAUSED) + _status(PAUSED), + _loopingMode(LOOPING) { setDataVariance(DYNAMIC); } diff --git a/src/osgPlugins/mpeg/MpegImageStream.cpp b/src/osgPlugins/mpeg/MpegImageStream.cpp index a41449dae..eb3319788 100644 --- a/src/osgPlugins/mpeg/MpegImageStream.cpp +++ b/src/osgPlugins/mpeg/MpegImageStream.cpp @@ -289,8 +289,14 @@ void MpegImageStream::run() if (frameNumber>=_frames) { - rewind(); - //stop(); + if (getLoopingMode()==LOOPING) + { + rewind(); + } + else + { + pause(); + } } else {