<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>Hello,<br></div><div><br></div><div>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.<br></div><div><br></div><div>Does sdlshare2.c work for anybody else?<br></div><div><br></div><div>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. <br></div><div><br></div><div>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.</div><div><br></div><div>Just trying to narrow down if the example is broken or if there's something about my system causing this. Any thoughts are appreciated.<br></div><div><br></div><div>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;<br></div><div>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<br></div><div>0:00:00.171040433 56903      0x1a83000 DEBUG                    bin gstbin.c:4022:gst_bin_handle_message_func:<pipeline0> posting message upward<br></div><div>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;<br></div><div>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";<br></div><div>0:00:00.171068733 56903      0x1a83000 DEBUG                GST_BUS gstbus.c:381:gst_bus_post:<bus2> [msg 0x1f90da0] pushing on async queue<br></div><div>0:00:00.171076833 56903      0x1a83000 DEBUG                GST_BUS gstbus.c:384:gst_bus_post:<bus2> [msg 0x1f90da0] pushed on async queue<br></div><div>0:00:00.171081953 56903      0x1a83000 DEBUG                GST_BUS gstbus.c:377:gst_bus_post:<bus1> [msg 0x1f90da0] dropped<br></div><div>0:00:00.171085653 56903      0x1a83000 DEBUG                GST_BUS gstbus.c:377:gst_bus_post:<bus0> [msg 0x1f90da0] dropped<br></div><div>0:00:00.171089783 56903      0x1a83000 INFO              GST_STATES gstelement.c:3091:gst_element_change_state:<sink> have FAILURE change_state return<br></div><div>0:00:00.171094343 56903      0x1a83000 INFO              GST_STATES gstelement.c:2678:gst_element_abort_state:<sink> aborting state from NULL to READY<br></div><div>0:00:00.171098433 56903      0x1a83000 DEBUG             GST_STATES gstelement.c:3041:gst_element_set_state_func:<sink> returned FAILURE<br></div><div>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)<br></div><div><br></div><div>-Brett</div></body></html>