From: Jean-Baptiste M. <jb...@kd...> - 2012-12-16 19:14:37
|
Git commit c1ff82962b1b61370b476909bbeb0c9140123ce7 by Jean-Baptiste Mardelle. Committed on 16/12/2012 at 20:14. Pushed by mardelle into branch 'master'. Fix seeking after play zone:http://www.kdenlive.org/mantis/view.php?id=2876 M +8 -3 src/renderer.cpp http://commits.kde.org/kdenlive/c1ff82962b1b61370b476909bbeb0c9140123ce7 diff --git a/src/renderer.cpp b/src/renderer.cpp index 057db08..70cf139 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -386,14 +386,15 @@ int Render::resetProfile(const QString &profileName, bool dropSceneList) 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); @@ -1624,7 +1625,7 @@ void Render::playZone(const GenTime & startTime, const GenTime & stopTime) 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; @@ -1633,12 +1634,16 @@ void Render::resetZoneMode() 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); |