]> git.sesse.net Git - kdenlive/commitdiff
Fix seeking with OpenGl monitor
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 18 Dec 2012 00:23:58 +0000 (01:23 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 18 Dec 2012 00:23:58 +0000 (01:23 +0100)
src/renderer.cpp

index a1106196a3d2df9db4778ffc6502f674efbdb136..a126f55135070ba364e5e0b924f655f8e7ee842b 100644 (file)
@@ -99,6 +99,7 @@ static void consumer_gl_frame_show(mlt_consumer, Render * self, mlt_frame frame_
        self->pause();
        self->emitConsumerStopped();
     }
+    else if (frame.get_double("_speed") == 0) self->emitConsumerStopped();
     self->showFrame(frame);
 }
 
@@ -263,8 +264,8 @@ void Render::buildConsumer(const QString &profileName)
     } else {
         if (!m_mltConsumer) {
            m_mltConsumer = new Mlt::Consumer(*m_mltProfile, "sdl_preview");
-         m_showFrameEvent = m_mltConsumer->listen("consumer-frame-show", this, (mlt_listener) consumer_frame_show);
-         m_pauseEvent = m_mltConsumer->listen("consumer-sdl-paused", this, (mlt_listener) consumer_paused);
+           m_showFrameEvent = m_mltConsumer->listen("consumer-frame-show", this, (mlt_listener) consumer_frame_show);
+           m_pauseEvent = m_mltConsumer->listen("consumer-sdl-paused", this, (mlt_listener) consumer_paused);
        }
        m_mltConsumer->set("window_id", m_winid);
     }
@@ -1814,6 +1815,7 @@ void Render::slotCheckSeeking()
        if (m_paused) {
            refresh();
        }
+       requestedSeekPosition = SEEK_INACTIVE;
     }
 }