qtvideosink under QML not working on embedded target
-
I am trying to get a QML MediaPlayer working on my embedded board (i.MX6ULL - no GPU - Qt 5.15). I have the following simple test QML:
import QtQuick 2.15 import QtQuick.Window 2.15 import QtMultimedia 5.15 Window { id: wnd width: 480 height: 272 visible: true color: "white" MediaPlayer { id: player source: "gst-pipeline: videotestsrc ! qtvideosink" autoPlay: true } VideoOutput { id: videoOutput source: player anchors.fill: parent anchors.margins: 25 } }
This works fine on my Desktop, and if I replace qtvideosink with fbdevsink then it works fine (although obviously renders fullscreen); also, if I do a QtWidgets based implementation then it (video) works fine; so the problem is something specific to qtvideosink under QML on the embedded target.
I have been stepping through QtMultimedia source-code for hours trying to understand where things are going wrong, but haven't been able to solve this as yet.
Any ideas / tips regarding how to go about debugging/fixing this issue with qtvideosink under QML?
-
I've just noticed that none of the OpenGL Qt examples seem to work (despite swrast being present), so right now I'm guessing that this issue has something to do with OpenGL (still investigating).
-
@JoeCFD Yes Qt Gstreamer is installed, thanks :-). As mentioned qtvideosink works fine under Widgets, just not QML.
-
@Dane-0 qml has its own sink. https://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/examples_2qmlplayer_2main_8cpp-example.html
Qt GStreamer is not developed anymore for quite some time. Be aware of that.