From cd6d679212de9a4b123b4402a7452aabd920ed31 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Tue, 18 Dec 2012 01:23:58 +0100 Subject: [PATCH] Fix seeking with OpenGl monitor --- src/renderer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index a1106196..a126f551 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -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; } } -- 2.39.2