GNOME Bugzilla – Bug 750337
[REGRESSION] glimagesink fails to initialize the shader
Last modified: 2015-06-04 02:19:29 UTC
072183ce616760c8859d5c14f3a440be003891bf glwindow: provides some default implementations to factorize with all backends breaks the gst_gl_window_is_running() check to return false on OS X. This causes glimagesink's shader/buffer init to fail to run and it errors out with. Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ** (gst-launch-1.0:5843): CRITICAL **: gst_gl_shader_use: assertion 'GST_GL_IS_SHADER (shader)' failed ** (gst-launch-1.0:5843): CRITICAL **: gst_gl_shader_set_uniform_1i: assertion 'shader != NULL' failed Got context from element 'glimagesink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0"; ERROR: from element /GstPipeline:pipeline0/GstGLImageSink:glimagesink0: (null) Additional debug info: gstglimagesink.c(1234): gst_glimage_sink_show_frame (): /GstPipeline:pipeline0/GstGLImageSink:glimagesink0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ...
Ah sorry. The fix is to remove: gst_gl_window_cocoa_run gst_gl_window_cocoa_quit gst_gl_window_cocoa_send_message_async _GstGLWindowCocoaPrivate. GMainContext *main_context; _GstGLWindowCocoaPrivate. GMainLoop *loop; Replace "g_main_loop_is_running (window_cocoa->priv->loop)" by gst_gl_window_is_running (window) Please have a try otherwise I can do it sometimes this week.
commit b7808270cae80b2b06220e8d8d27dfca4e84674b Author: Julien Isorce <j.isorce@samsung.com> Date: Wed Jun 3 21:22:09 2015 +0100 glwindow_cocoa: use parent default implementation Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337 Let me know if it works for you too.
commit fbbf1ac324cc0c43c471fb704e65aae352cd8195 Author: Matthew Waters <matthew@centricular.com> Date: Thu Jun 4 12:16:35 2015 +1000 gl/window: use the default main loop implementation for all backends fixes glimagsink being unable to display. https://bugzilla.gnome.org/show_bug.cgi?id=750337