After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 750337 - [REGRESSION] glimagesink fails to initialize the shader
[REGRESSION] glimagesink fails to initialize the shader
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal major
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-03 12:55 UTC by Matthew Waters (ystreet00)
Modified: 2015-06-04 02:19 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Matthew Waters (ystreet00) 2015-06-03 12:55:46 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 ...
Comment 1 Julien Isorce 2015-06-03 13:52:00 UTC
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.
Comment 2 Julien Isorce 2015-06-03 20:39:51 UTC
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.
Comment 3 Matthew Waters (ystreet00) 2015-06-04 02:19:29 UTC
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