Qt Multimedia play - BUG: scheduling while atomic: vqueue:src/460/0x00000101
-
Currently, I am using Qt on Arm embedded systems to run the Qt5.6.0/Examples/Qt-5.6/qtmultimedia/multimedia/video/qmlvideo application. I select the video using "Select File 1" button --> then hit Video --> tap gain to play. After a while I see :
BUG: scheduling while atomic: vqueue:src/460/0x00000101
Preemption disabled at:[<80101544>] __do_softirq+0x5c/0x3b4However when I use the gstreamer I had faced the Premption issue when I ran the following gstreamer command:
gst-launch-1.0 -v filesrc location=/home/video/big_buck_bunny_720p_h264.mov typefind=true ! qtdemux !queue max-size-time=0 !vpudec ! videoconvert ! imxipuvideosink framebuffer=/dev/fb3
BUG: scheduling while atomic: vqueue:src/460/0x00000101
Preemption disabled at:[<80101544>] __do_softirq+0x5c/0x3b4Solution: Was to set queue before & after the decoder as given below. This played without any issues until the end of the video.
gst-launch-1.0 filesrc location=/opt/apex/video/big_buck_bunny_720p_h264.mov typefind=true ! qtdemux ! queue ! vpudec frame-drop=false ! queue max-size-buffers=3 !imxipuvideosink framebuffer=/dev/fb3
I mentioned gstreamer as it is being used by Qt to play & control video as the underlying mechanism on linux. Please let me know if I have to modify anything in the Qt Application/or the Qt framework is so to make it work.
Resources used--->
Qt version: Qt 5.6.0
System: Arm linux
Kernel: 4.8.22-WR9.0.0.7_standard
Gstreamer: gstreamer 1.0 -
Hi and welcome to devnet,
You'll likely have to modify the GStreamer backend in QtMultimedia. You can find it under
/qtmultimedia/src/plugins/gstreamer/mediaplayer
. -
Did you download Qt's sources ?