using gl context of external app

Matthew Waters ystreet00 at gmail.com
Mon Sep 14 06:46:05 PDT 2015


On 14/09/15 22:57, Andres Colubri wrote:
> Hi Matt,
>
> Thank for pointing out the typo... I guess that's the consequence of
> working late on Sunday night :-)
>
> So after fixing that I'm getting a non-zero gl context, but only if I
> move gst_gl_context_get_current_gl_context() to the init function that
> is called when the gl context in the main application should be
> current (if I call it in the callback it still returns zero). So what
> I do is to save the context in a global variable and use it in the
> callback. Is this approach sound?

Sure, that sounds fine provided the GL context doesn't change in between.

-Matt

> Andres
>
> On Mon, Sep 14, 2015 at 7:04 AM, Matthew Waters <ystreet00 at gmail.com
> <mailto:ystreet00 at gmail.com>> wrote:
>
>     On 14/09/15 20:41, Andres Colubri wrote:
>>     Hi guys,
>>
>>     Thanks for the info. The combination of calls:
>>
>>     GstGLDisplay* display = gst_gl_display_new();
>>     guintptr context =
>>     gst_gl_context_get_current_gl_context(GST_GL_HAVE_PLATFORM_CGL);    
>>     GstGLContext* gstcontext =
>>     gst_gl_context_new_wrapped(display, context,
>>     GST_GL_HAVE_PLATFORM_CGL, GST_GL_API_OPENGL);
>
>     Shouldn't this be?
>     s/GST_GL_HAVE_PLATFORM_CGL/GST_GL_PLATFORM_CGL/
>
>>     in the bus callback seems like the solution I have been looking
>>     for, at least on OS X. However,
>>     gst_gl_context_get_current_gl_context always returns 0, so theres
>>     is a problem a problem. Maybe the bus callback  is called when
>>     the GL context is not current in the calling thread.
>
>     The gst_gl_context_get_current* family of functions require that
>     the external context be current in the calling thread for them to
>     work.  The synchronous bus callback is called from a GStreamer
>     element streaming thread which is not the main thread.
>
>     Cheers
>     -Matt
>
>>     I will also give a try to caopengllayersink once 1.6 is out. 
>>
>>     Cheers,
>>     Andres
>>
>>
>>     On Sun, Sep 6, 2015 at 5:51 AM, Sebastian Dröge
>>     <sebastian at centricular.com <mailto:sebastian at centricular.com>> wrote:
>>
>>         On Fr, 2015-09-04 at 11:50 -0400, Andres Colubri wrote:
>>         > Hi Matt,
>>         >
>>         > Cool, thanks for the follow up on OS X. I'm pretty sure
>>         that JOGL
>>         > doesn't use XQuartz, so it is probably just a NSApp. For
>>         Linux and
>>         > Windows, it relies on X11 and (if understand the native core
>>         > correctly) on the win32 API.
>>
>>         Note that Matthew also blogged about how to integrate
>>         libgstgl with
>>         other GL libraries here:
>>         http://ystreet00.blogspot.gr/2015/09/gstreamer-16-and-opengl-contexts.html
>>
>>         Maybe that contains some further useful information for you :)
>>
>>         > Do you want me to open an issue on the gstreamer tracker
>>         requesting
>>         > the API enhancement, so at least the discussion is better
>>         focused?
>>
>>         Sounds like a good plan :)
>>
>>         --
>>         Sebastian Dröge, Centricular Ltd · http://www.centricular.com
>>
>>
>>         _______________________________________________
>>         gstreamer-devel mailing list
>>         gstreamer-devel at lists.freedesktop.org
>>         <mailto:gstreamer-devel at lists.freedesktop.org>
>>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150914/2b26b721/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150914/2b26b721/attachment-0001.sig>


More information about the gstreamer-devel mailing list