#include "definitions.h"
#include "widgets/abstractmonitor.h"
+#include <GL/gl.h>
#include <mlt/framework/mlt_types.h>
#include <kurl.h>
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:
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;
bool m_isActive;
QGLWidget *m_mainGLContext;
QGLWidget *m_GLContext;
+ QMap<pthread_t, QGLWidget *> m_renderThreadGLContexts;
Mlt::Filter* m_glslManager;
void closeMlt();
*
* Used in Mac OS X. */
void showImageSignal(QImage);
- void showImageSignal(GLuint);
+ void showImageSignal(Mlt::Frame*, GLuint);
void showAudioSignal(const QVector<double> &);
void addClip(const KUrl &, stringMap);
void checkSeeking();