]> git.sesse.net Git - mlt/blobdiff - src/modules/opengl/filter_glsl_manager.h
Add back automatic cleanup of OpenGL fences.
[mlt] / src / modules / opengl / filter_glsl_manager.h
index 2c08f6e456da6da7bfab386e65b76621fa0364da..4bc3836b1e0a341277a06b16b04825221e3fdceb 100644 (file)
@@ -79,6 +79,7 @@ public:
        static void release_fbo(glsl_fbo);
        glsl_texture get_texture(int width, int height, GLint internal_format);
        static void release_texture(glsl_texture);
+       static void delete_sync(GLsync sync);
        glsl_pbo get_pbo(int size);
        void cleanupContext();
 
@@ -87,9 +88,9 @@ public:
        static EffectChain* get_chain(mlt_service);
        static MltInput* get_input(mlt_service);
        static void reset_finalized(mlt_service);
-       static Effect* get_effect(mlt_filter, mlt_frame);
-       static Effect* add_effect(mlt_filter, mlt_frame, Effect*);
-       static Effect* add_effect(mlt_filter, mlt_frame, Effect*, Effect* input_b);
+       static Effect* get_effect(mlt_service, mlt_frame);
+       static Effect* add_effect(mlt_service, mlt_frame, Effect*);
+       static Effect* add_effect(mlt_service, mlt_frame, Effect*, Effect* input_b);
        static void render_fbo(mlt_service, void *chain, GLuint fbo, int width, int height);
        int render_frame_texture(mlt_service, mlt_frame, int width, int height, uint8_t **image);
        int render_frame_rgba(mlt_service, mlt_frame, int width, int height, uint8_t **image);
@@ -103,9 +104,11 @@ private:
        static void onPropertyChanged( mlt_properties owner, mlt_service service, const char* property );
        Mlt::Deque fbo_list;
        Mlt::Deque texture_list;
+       Mlt::Deque syncs_to_delete;
        glsl_pbo  pbo;
        Mlt::Event* initEvent;
        Mlt::Event* closeEvent;
+       GLsync prev_sync;
 };
 
 #endif // GLSL_MANAGER_H