Trouble with the sdlshare2.c example (gst-plugins-base)
Brett Ernst
brett at galactictreaty.com
Mon Jul 11 03:37:24 UTC 2022
Hello,
I've been trying to get the sdlshare2.c example working, which shares an application's GL context with the glimagesink element. It seems that whenever a context is provided via the gst.gl.app_context context, the pipeline fails to go from NULL to READY state without printing any kind of messages as to why. I originally noticed this in my own code, but using sdlshare2.c without modification also results in the same outcome.
Does sdlshare2.c work for anybody else?
I'm on a Fedora 36 system using Xorg with the amdgpu video drivers. The GStreamer version is 1.20.0. I've included a snippet of the trace log here, including the part that seems relevant, but the entire log is too enormous to post even on GitHub gists.
Browsing through the code for gstglimagesink.c it doesn't seem like it's even attempting to use the context provided by sdlshare2.c (if I modify it to provide any other value, the same result occurs). Removing the gst.gl.app_context context altogether allows the pipeline to start, but since it's not sharing the context it creates two windows.
Just trying to narrow down if the example is broken or if there's something about my system causing this. Any thoughts are appreciated.
0:00:00.171032213 56903 0x1a83000 DEBUG GST_BUS gstbus.c:338:gst_bus_post:<bus1> [msg 0x1f90da0] posting on bus need-context message: 0x1f90da0, time 99:99:99.999999999, seq-num 20, element 'sink', GstMessageNeedContext, context-type=(string)gst.gl.app_context;
0:00:00.171036873 56903 0x1a83000 DEBUG bin gstbin.c:3686:gst_bin_handle_message_func:<pipeline0> [msg 0x1f90da0] handling child sink message of type need-context
0:00:00.171040433 56903 0x1a83000 DEBUG bin gstbin.c:4022:gst_bin_handle_message_func:<pipeline0> posting message upward
0:00:00.171045153 56903 0x1a83000 DEBUG GST_BUS gstbus.c:338:gst_bus_post:<bus2> [msg 0x1f90da0] posting on bus need-context message: 0x1f90da0, time 99:99:99.999999999, seq-num 20, element 'sink', GstMessageNeedContext, context-type=(string)gst.gl.app_context;
0:00:00.171058573 56903 0x1a83000 DEBUG GST_CONTEXT gstelement.c:3590:gst_element_set_context:<sink> set context 0x1dab920 context, context=(GstGLContext)"\(GstGLWrappedContext\)\ glwrappedcontext0";
0:00:00.171068733 56903 0x1a83000 DEBUG GST_BUS gstbus.c:381:gst_bus_post:<bus2> [msg 0x1f90da0] pushing on async queue
0:00:00.171076833 56903 0x1a83000 DEBUG GST_BUS gstbus.c:384:gst_bus_post:<bus2> [msg 0x1f90da0] pushed on async queue
0:00:00.171081953 56903 0x1a83000 DEBUG GST_BUS gstbus.c:377:gst_bus_post:<bus1> [msg 0x1f90da0] dropped
0:00:00.171085653 56903 0x1a83000 DEBUG GST_BUS gstbus.c:377:gst_bus_post:<bus0> [msg 0x1f90da0] dropped
0:00:00.171089783 56903 0x1a83000 INFO GST_STATES gstelement.c:3091:gst_element_change_state:<sink> have FAILURE change_state return
0:00:00.171094343 56903 0x1a83000 INFO GST_STATES gstelement.c:2678:gst_element_abort_state:<sink> aborting state from NULL to READY
0:00:00.171098433 56903 0x1a83000 DEBUG GST_STATES gstelement.c:3041:gst_element_set_state_func:<sink> returned FAILURE
0:00:00.171103513 56903 0x1a83000 INFO GST_STATES gstbin.c:2944:gst_bin_change_state_func:<glimagesink0> child 'sink' failed to go to state 2(READY)
-Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220710/db805a20/attachment.htm>
More information about the gstreamer-devel
mailing list