Gstreamer qml6glsink issue
-
I am attempting to run the example provided here involving connecting a gstreamer pipeline ending in a qml6glsink to a QQuickItem.
However, I get this error when attempting to run:
GStreamer-WARNING **: 16:01:41.393: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstqml6.so': /lib/x86_64-linux-gnu/libQt6WaylandClient.so.6: undefined symbol: _Z12qt_safe_pollP6pollfdmPK8timespec, version Qt_6Does anyone know what might be causing this issue.
-
Hi and welcome to devnet,
Did you build your application with the distribution provide Qt ?
-
I figured out the issue. It was do to gstreamer dynamically linking to the wrong libQt6WaylandClient.so.6 file when loading the qml6glsink plugin.
Now I get this issue when trying to run the example:
I haven't had a chance to really dig into it yet though, so it may have a simple solution.
-
I get something close to working if I include these two lines:
qputenv("QSG_RENDER_LOOP", "basic"); qputenv("QT_QUICK_BACKEND", "opengl");
But I still get this issue:
Could not create scene graph context for backend 'opengl' - check that plugins are installed correctly in /opt/external/qt/Qt_6_5_2/6.5.2/gcc_64/plugins 0:00:00.179679428 22784 0x7fffa0000b70 FIXME default gstutils.c:4088:gst_element_decorate_stream_id_internal:<videotestsrc0> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
And there seem to be some issue with the actual display with this fix. Furthermore, I would prefer a threaded render loop. So if anyone has some ideas they would be greatly appriecated.
-
@blacktelos said in Gstreamer qml6glsink issue:
check that plugins are installed correctly in /opt/external/qt/Qt_6_5_2/6.5.2/gcc_64/plugins
Did you do this?
-
Yes, there doesn't seem to be any issues with the plugins
-
This message (Could not create scene graph context for backend 'opengl') was caused for me by
qputenv("QT_QUICK_BACKEND", "opengl");
When I switched to setting this in the environment variables instead, this message went away.