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 729551 - GstGLDisplay: mix platform and window
GstGLDisplay: mix platform and window
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal blocker
: 1.3.2
Assigned To: Matthew Waters (ystreet00)
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-05-05 07:11 UTC by Julien Isorce
Modified: 2014-05-06 11:11 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Julien Isorce 2014-05-05 07:11:42 UTC
1- It parses env "GST_GL_WINDOW" whereas it checks for "egl" platform:
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst-libs/gst/gl/gstgldisplay.c#n132
I understand the confusion because the egl platform is the only platform which has its own display type. But "EGLDisplay eglGetDisplay(	NativeDisplayType native_display);" can be created from the native display. I have not tried to pass a native display to  eglGetDisplay though. Anyway it needs some clarifications here and  GST_GL_WINDOW en var cannot be equal to egl.

2 - gst_gl_display_get_gl_api and gst_gl_display_get_gl_vtable should be removed as it has moved to gstglcontext. (gl_api attribute as well)

3- implement gst_gl_display_get_handle_type

4- On OSX, I have both x11 and cocoa windows which get compiled. But then if I do not set GST_GL_WINDOW en var, it still calls XOpenDisplay because there is no cocoa case in gstgldisplay.c.
Even if it won't use it as the selected platform is cocoa by default.
This is annoying because it takes around 5 sec to launch a pipeline because it has to open XQuartz (if not already open).
Comment 1 Julien Isorce 2014-05-05 07:13:01 UTC
Matthew do you have time to handle that ?
Comment 2 Matthew Waters (ystreet00) 2014-05-05 08:34:28 UTC
Sure, I can take a look at it.
Comment 3 Julien Isorce 2014-05-05 08:39:39 UTC
Thx!
Comment 4 Matthew Waters (ystreet00) 2014-05-06 11:11:17 UTC
commit f19e5abcb8b6b6a6d1b1d1ad29dce6f94150912c
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Tue May 6 16:39:06 2014 +1000

    gl/display: clean up pre gstglcontext api and struct fields
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729551

commit c28dd9b0d34b4d678d0f9780a2c81ca9a7b29062
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Tue May 6 17:27:15 2014 +1000

    gl/display: add get_handle_type
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729551

commit 1eeecae29e6e3c05ab84786dc9ff6fd6a056b565
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Tue May 6 17:08:18 2014 +1000

    gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729551

commit b694b292b9257897e6fc6a80fd23df20d285dfda
Author: Matthew Waters <ystreet00@gmail.com>
Date:   Tue May 6 16:31:28 2014 +1000

    gl/display: check the correct env variable for choosing an egl display
    
    GST_GL_WINDOW is used for window system specific choices.
    An EGLDisplay can be created from window systems with egl support by using
    eglGetDisplay().
    
    https://bugzilla.gnome.org/show_bug.cgi?id=729551