]> git.sesse.net Git - kdenlive/blobdiff - src/renderer.cpp
Add non realtime preview mode to Kdenlive (available from monitor context menu)
[kdenlive] / src / renderer.cpp
index 8b2afc740deb921b7968a8a6ba888b7a683da902..affbff833fb4770f008cbe7712f7dae0cbfcb030 100644 (file)
@@ -55,7 +55,7 @@ static void consumer_frame_show(mlt_consumer, Render * self, mlt_frame frame_ptr
 
 Render::Render(const QString & rendererName, int winid, int /* extid */, QWidget *parent) :
         QObject(parent),
-        m_isBlocked(1),
+        m_isBlocked(0),
         m_name(rendererName),
         m_mltConsumer(NULL),
         m_mltProducer(NULL),
@@ -1222,7 +1222,7 @@ void Render::seekToFrame(int pos)
 void Render::askForRefresh()
 {
     // Use a Timer so that we don't refresh too much
-    m_refreshTimer->start(500);
+    m_refreshTimer->start(300);
 }
 
 void Render::doRefresh()
@@ -1241,6 +1241,17 @@ void Render::refresh()
     }
 }
 
+void Render::setDropFrames(bool show)
+{
+    if (m_mltConsumer) {
+        int dropFrames = 1;
+        if (show == false) dropFrames = 0;
+        m_mltConsumer->stop();
+        m_mltConsumer->set("play.real_time", dropFrames);
+        m_mltConsumer->start();
+    }
+}
+
 double Render::playSpeed()
 {
     if (m_mltProducer) return m_mltProducer->get_speed();