GNOME Bugzilla – Bug 782944
glimagesink: Unable to use video sink on OS X: gst_gl_window_get_context: assertion 'GST_IS_GL_WINDOW (window)' failed
Last modified: 2018-02-09 05:25:00 UTC
I have fresh install of mac os sierra. I installed https://gstreamer.freedesktop.org/data/pkg/osx/1.12.0/gstreamer-1.0-1.12.0-x86_64.pkg and added the following to ~/.profile export PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/Commands:$PATH export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/pkgconfig:$PKG_CONFIG_PATH After running the following pipeline libopenjp-related warnings appear: $ gst-launch-1.0 udpsrc port=10000 ! "application/x-rtp, media=(string)video, encoding-name=(string)VP8" ! rtpvp8depay ! avdec_vp8 ! autovideosink (gst-plugin-scanner:47198): GStreamer-WARNING **: Failed to load plugin '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.so': dlopen(/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.so, 2): Library not loaded: libopenjp2.7.dylib Referenced from: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.so Reason: image not found Ustawianie potoku na PAUZOWANIE... Potok jest na żywo i nie wymaga PRZEWINIĘCIA... ** (gst-launch-1.0:47197): CRITICAL **: gst_gl_window_get_context: assertion 'GST_IS_GL_WINDOW (window)' failed Caught SIGSEGV exec gdb failed: No such file or directory Spinning. Please run 'gdb gst-launch-1.0 47197' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
I am not able to set up any video output using autovideosink. Tried videotestsrc ! autovideosrc - the same effect.
I have reverted to 1.10.0 and everything works fine.
Could you re-test with 1.12.2 ? I think the gl stuff was fixed.
Just tested with 1.12.2. Same problem. $ GST_DEBUG=3 gst-launch-1.0 -v videotestsrc ! autovideosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayCocoa\)\ gldisplaycocoa0"; 0:00:00.068645000 5188 0x7fe0018d1990 FIXME default gstutils.c:3902:gchar *gst_pad_create_stream_id_internal(GstPad *, GstElement *, const gchar *):<videotestsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage.GstGhostPad:sink.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLUploadElement:gluploadelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorConvertElement:glcolorconvertelement0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorBalance:glcolorbalance0.GstPad:src: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLImageSink:sink.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorBalance:glcolorbalance0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLColorConvertElement:glcolorconvertelement0.GstPad:sink: caps = video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage/GstGLUploadElement:gluploadelement0.GstPad:sink: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstGLImageSinkBin:autovideosink0-actual-sink-glimage.GstGhostPad:sink: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)RGBA, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock ** (gst-launch-1.0:5188): CRITICAL **: gst_gl_window_get_context: assertion 'GST_IS_GL_WINDOW (window)' failed Caught SIGSEGV
+ Trace 237663
I believe this was fixed in the 1.12 branch for the upcoming 1.12.3 release. https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?h=1.12&id=546092597c262d64f76164823aa0ad5585267f1e Can you test git master or the 1.12 branch?
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!
Confirmed with gst-launch-1.0 -v videotestsrc ! autovideosink, it works fine in 1.12.4.