Not sure of this is a general Qt related question or if it’s something unique to iMX.
I’m getting Qt (V4.7.2) and GStreamer up and running on the iMX53 QSB. I can play videos perfectly using gplay and gst-launch, but the problem is those same video files don’t play using the qmediaplayer that comes with Qt demos. Audio MP3 files play OK.
When a video file is opened in qmediaplayer the debug terminal immediately shows the movie content information (as expected). Then it goes dormant for several seconds. Then the player window changes as though it wants to play a file but all that’s shown is a tiny little thumbnail of the file‘s first frame in the middle of the player, it doesn’t play but it doesn't give an errors.
Debug also at that time shows:
>>VPU_DEC: State: Ready to Null
[--->FINALIZE vpu_dec
[--->FINALIZE aiurdemux
gst-launch and gplay give the same movie info (and play immediately) but I noticed their debug info says something different:
>>VPU_DEC: State: Ready to Null
[--->FINALIZE v4l_sink
[--->FINALIZE vpu_dec
[--->FINALIZE aiurdemux
….. could this be kind of saying that Qt is not determining a sink pad for use?
Also doing printenv I noticed:
GST_PLUGIN_PATH=/usr/lib/fsl_mm_linux/lib/gstreamer-0.10
… but there’s no such directory. There is however:
/usr/lib/gstreamer-0.10
… which I tried setting the env variable to, but no difference. I wonder should the env variable ever have been to that non-existent path anyway, or should I actually have that path and content?
As I say, gplay and gst-launch work fine so it seems maybe somewhere in the link between Qt and GStreamer it goes wrong, or there is something unique to the iMX, or I have some iMX system config wrong, maybe someone has ideas where to look? (Perhaps I should direct this to the Qt forum?) Thanks.
Got it working. The fix was to install Qt 4.7.4 (I was using 4.7.2), and add the excellent suggested patch:
From the description, the qmediaplayer did not use the mfw_v4lsink as the default display sink element.
Please see following post: