diff --git a/src/osgPlugins/quicktime/QuicktimeImageStream.cpp b/src/osgPlugins/quicktime/QuicktimeImageStream.cpp index 16c042e19..429923ce6 100644 --- a/src/osgPlugins/quicktime/QuicktimeImageStream.cpp +++ b/src/osgPlugins/quicktime/QuicktimeImageStream.cpp @@ -60,9 +60,6 @@ QuicktimeImageStream::QuicktimeImageStream(std::string fileName) : ImageStream() if (!fileName.empty()) setFileName(fileName); - - startThread(); - start(); } diff --git a/src/osgPlugins/quicktime/QuicktimeImageStream.h b/src/osgPlugins/quicktime/QuicktimeImageStream.h index 23307b118..23c46870a 100644 --- a/src/osgPlugins/quicktime/QuicktimeImageStream.h +++ b/src/osgPlugins/quicktime/QuicktimeImageStream.h @@ -51,7 +51,12 @@ namespace osg { virtual const char* className() const { return "QuicktimeImageStream"; } /// Start or continue stream. - virtual void play() { setCmd(THREAD_START); } + virtual void play() + { + if (!isRunning()) start(); + + setCmd(THREAD_START); + } /// Pause stream at current position. virtual void pause() { setCmd(THREAD_STOP); } diff --git a/src/osgPlugins/quicktime/ReaderWriterQT.cpp b/src/osgPlugins/quicktime/ReaderWriterQT.cpp index 8a307b5f3..09824e8bc 100644 --- a/src/osgPlugins/quicktime/ReaderWriterQT.cpp +++ b/src/osgPlugins/quicktime/ReaderWriterQT.cpp @@ -70,7 +70,7 @@ class ReaderWriterQT : public osgDB::ReaderWriter // state on the ImageStream... will integrated as is right now // to get things off the ground. osg::QuicktimeImageStream* moov = new osg::QuicktimeImageStream(fileName); - moov->start(); + moov->play(); return moov; }