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/0x3b4

    However 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/0x3b4

    Solution: 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


  • Lifetime Qt Champion

    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.



  • @SGaist /qtmultimedia/src/plugins/gstreamer/mediaplayer is it a conf file ? I am unable to see any src folder.


  • Lifetime Qt Champion

    Did you download Qt's sources ?


 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.