]> git.sesse.net Git - mlt/commitdiff
Fix crash in glDeleteSync() called on wrong thread.
authorDan Dennedy <dan@dennedy.org>
Sun, 12 Jan 2014 22:08:46 +0000 (14:08 -0800)
committerDan Dennedy <dan@dennedy.org>
Sun, 12 Jan 2014 22:08:46 +0000 (14:08 -0800)
The app must delete the GLsync, which can more easily result in leaks.
:-\

src/modules/opengl/filter_glsl_manager.cpp

index 68ef63dc4f56a013fe47fe8d0f96324202e92c4b..72ca55af0c1ff9cd66acea934b2ad87fb7c2c339 100644 (file)
@@ -198,11 +198,6 @@ void GlslManager::release_texture(glsl_texture texture)
        texture->used = 0;
 }
 
-void GlslManager::delete_sync(GLsync sync)
-{
-       glDeleteSync(sync);
-}
-
 glsl_pbo GlslManager::get_pbo(int size)
 {
        lock();
@@ -438,8 +433,7 @@ int GlslManager::render_frame_texture(mlt_service service, mlt_frame frame, int
        mlt_frame_set_image( frame, *image, 0, NULL );
        mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.texture", texture, 0,
                (mlt_destructor) GlslManager::release_texture, NULL );
-       mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.fence", sync, 0,
-               (mlt_destructor) GlslManager::delete_sync, NULL );
+       mlt_properties_set_data( MLT_FRAME_PROPERTIES(frame), "movit.convert.fence", sync, 0, NULL, NULL );
 
        return 0;
 }