lab101
October 11, 2022, 7:12pm
1
Hey All,
I have been running a Cinder Linux setup with a lot of videos on 2x4K without an issues.
I’m still amazed on how well it runs thanks @petros for all the hard work on GStreamer and Linux integration!
Today I upgraded my dev machine from Ubuntu 20 to 22 LTS.
This release has gstreamer 1.20 which causes sigsegv crashes 90% of the time on my project.
When googling around I found similar issues with OF and processing.
opened 02:47PM - 10 Feb 22 UTC
closed 05:44PM - 29 Aug 22 UTC
Hi,
I just updated my system, and it seems gstreamer breaks any video playbac… k. Getting this when running the videoPlayer example:
```
[notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
[notice ] ofGstUtils: Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0", gst.vaapi.Display.GObject=(GstObject)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx0";
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.970: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.970: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.971: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.971: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.971: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.971: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
(videoPlayerExample:12633): GStreamer-Base-CRITICAL **: 16:43:43.972: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
[ error ] ofGstUtils: startPipeline(): unable to pause pipeline after 5s[ error ]
ofGstUtils: gstHandleMessage(): embedded video playback halted for plugin, module qtdemux0 reported: Internal data stream error.[warning] ofGstVideoUtils: update(): ofGstVideoUtils not loaded
```
Needless to say, this is a HUGE bug. Please, please, please wait with upgrading gstreamer until this is fixed.
Running this on Arch Linux, oF version 0.11.2. Tested on xorg (bspwm) and wayland (sway).
EDIT: tested now with the latest nightly build, of_v20220210_linux64gcc6_nightly, and getting the same result.
openframeworks:master
← ofTheo:bugfix-gstreamer
opened 04:52PM - 17 Aug 22 UTC
Fixes broken video playback with GStreamer 1.20 - partially closes #6871
Huge … thanks to Nicholas Lavella ( [from the forums](https://forum.openframeworks.cc/t/ofxgstreamer-on-m1-mac/40257/14?u=theo) ) for helping narrow it down to the callback.
Needs testing on Linux and older Gstreamer versions ( though the changes should be backwards compatible ).
I looked into Linux/GstPlayer.cpp but it’s really a lot of code and concepts to learn.
So I think I will probably setup a ubuntu 20 on spare machine because I’m also not sure if I can deploy app build on Ubuntu 22 to a 20 machine?
Greetings
Kris