void Render::seek(GenTime time)
{
+ if (!m_mltProducer)
+ return;
int pos = time.frames(m_fps);
seek(pos);
}
void Render::seek(int time)
{
- if (!m_mltProducer)
- return;
+ resetZoneMode();
if (requestedSeekPosition == SEEK_INACTIVE) {
requestedSeekPosition = time;
m_mltProducer->seek(time);
void Render::resetZoneMode()
{
- if (!m_mltProducer || (!m_isZoneMode && !m_isLoopMode)) return;
+ if (!m_isZoneMode && !m_isLoopMode) return;
m_mltProducer->set("out", m_originalOut);
//m_mltProducer->set("eof", "pause");
m_isZoneMode = false;
void Render::seekToFrame(int pos)
{
+ if (!m_mltProducer)
+ return;
resetZoneMode();
seek(pos);
}
void Render::seekToFrameDiff(int diff)
{
+ if (!m_mltProducer)
+ return;
resetZoneMode();
if (requestedSeekPosition == SEEK_INACTIVE)
seek(m_mltProducer->position() + diff);