X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.h;h=6910f42706e0dd036e9e4d4a8bf25a9e02608a53;hb=234d7fe2828b8e82253548e32081576fc56cbb80;hp=96e23dce9f03ef61c5927832d5d4c585cdbf24c4;hpb=a3eee7be24126f5a3458d488f44cd61c66135e17;p=kdenlive diff --git a/src/renderer.h b/src/renderer.h index 96e23dce..6910f427 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -33,6 +33,7 @@ #include "definitions.h" #include "widgets/abstractmonitor.h" +#include #include #include @@ -357,6 +358,8 @@ class Render: public AbstractRender protected: static void consumer_frame_show(mlt_consumer, Render * self, mlt_frame frame_ptr); static void consumer_gl_frame_show(mlt_consumer, Render * self, mlt_frame frame_ptr); + static void consumer_thread_started(mlt_consumer, Render * self, mlt_frame frame_ptr); + static void consumer_thread_stopped(mlt_consumer, Render * self, mlt_frame frame_ptr); private: @@ -369,6 +372,8 @@ private: Mlt::Producer * m_mltProducer; Mlt::Profile *m_mltProfile; Mlt::Event *m_showFrameEvent; + Mlt::Event *m_consumerThreadStartedEvent; + Mlt::Event *m_consumerThreadStoppedEvent; Mlt::Event *m_pauseEvent; double m_fps; @@ -402,6 +407,7 @@ private: bool m_isActive; QGLWidget *m_mainGLContext; QGLWidget *m_GLContext; + QMap m_renderThreadGLContexts; Mlt::Filter* m_glslManager; void closeMlt(); @@ -481,7 +487,7 @@ signals: * * Used in Mac OS X. */ void showImageSignal(QImage); - void showImageSignal(GLuint); + void showImageSignal(Mlt::Frame*, GLuint); void showAudioSignal(const QVector &); void addClip(const KUrl &, stringMap); void checkSeeking();