virtual void run() { _dataIter = _dataList.begin(); while ( !_done ) { if ( _status==PLAYING && (*_dataIter) ) { if ( _frameNum>=(*_dataIter)->delay ) { _frameNum = 0; if ( _dataNum>=_dataList.size()-1 ) { if ( getLoopingMode()==LOOPING ) { _dataNum = 0; _currentLength = 0; } } else _dataNum++; setNewImage(); } else { _frameNum++; _currentLength++; } OpenThreads::Thread::microSleep(static_cast<int>(10000.0f*_multiplier)); } else OpenThreads::Thread::microSleep(150000L); } }
void QuicktimeImageStream::applyLoopingMode() { OSG_INFO << "applying loop mode " << getLoopingMode() << std::endl; _movieData->setLooping(getLoopingMode() == osg::ImageStream::LOOPING); }
void FFmpegPlayer::applyLoopingMode() { m_streamer.loop (getLoopingMode() == LOOPING); }
void FFmpegImageStream::applyLoopingMode() { m_decoder->loop(getLoopingMode() == LOOPING); }