Has anybody successfully played video in the QtMultimediaWidgets player application while using the xcb backend? I've found a number of posts regarding video playback in Qt5 with the VPU acceleration, but most of them seem to require disabling X11.
When I try using XCB, the video simply hangs while loading the video:
root@imx6qsabresd:~# /usr/share/qt5/examples/multimediawidgets/player/player /BigBuckBunny.avi
Qt Warning: Could not find a location of the system's Compose files. Consider setting the QTCOMPOSE environment variable.
Qt Warning: Could not find a location of the system's Compose files. Consider setting the QTCOMPOSE environment variable.
Aiur: 3.0.11
Core: AVI_PARSER_03.05.12 build on Jul 15 2014 02:45:03
mime: video/x-msvideo
file: /usr/lib/imx-mm/parser/lib_avi_parser_arm11_elinux.so.3.1
Content Info:
URI:
file:///BigBuckBunny.avi
Idx File:
/home/root/.aiur/.BigBuckBunny.avi.aidx
Seekable : Yes
Size(byte): 1370826
Movie Info:
Seekable : Yes
Live : No
Duration : 0:00:32.496326000
ReadMode : Track
Track : 2
Track 00 [video_000000] Enabled
Duration: 0:00:32.480000000
Language: und
Mime:
video/mpeg, mpegversion=(int)4, parsed=(boolean)true, width=(int)320, height=(in
t)240, framerate=(fraction)25/1
[INFO] Product Info: i.MX6Q/D/S
vpudec versions :smileyhappy:
plugin: 3.0.11
wrapper: 1.0.46(VPUWRAPPER_ARM_LINUX Build on Feb 12 2015 15:09:45)
vpulib: 5.4.23
firmware: 3.1.1.46056
Track 01 [audio_000000] Enabled
Duration: 0:00:32.496326000
Language: und
Mime:
audio/mpeg, mpegversion=(int)1, framed=(boolean)true, channels=(int)1, rate=(int
)22050, bitrate=(int)0
Beep: 3.0.11
Core: MP3 decoder Wrapper build on Mar 21 2014 15:04:50
mime: audio/mpeg, mpegversion = (int)1
file: /usr/lib/imx-mm/audio-codec/wrap/lib_mp3d_wrap_arm12_elinux.so.3
CODEC: BLN_MAD-MMCODECS_MP3D_ARM_02.13.00_CORTEX-A8 build on Apr 10 2014 15:26:15.
If I set GST_DEBUG=2, I get the following warning over and over again:
aiurdemux /home/justin/work/yocto/build/tmp/work/imx6qsabresd-poky-linux-gnueabi/gst-fsl-plugin/3.0.11-r0/gst-fsl-plugins-3.0.11/src/parser/aiur/src/aiurdemux.c:4095:aiurdemux_push_pad_buffer: Pad video push error type -4
The same video plays fine using gplay, playbin2, and a standard manual gstreamer pipeline. I'm using the head of line for all of the metalayers (include meta-qt5). I synced the repo yesterday. I did have to disable the gstreamer1.0 patches (I'm using gstreamer 0.10) in the qtmultimedia recipe.
If it helps, here's more information about what I'm currently using:
meta-fsl-arm-extra dizzy
meta-fsl-arm dizzy
meta-qt5 master (commit adeaa6128b665920eb98eb7c064f4aacbd74b873)
Qt5.4
Linux 3.10.17
gstreamer 0.10.36
gst-fsl-plugins 3.0.11
libfslcodec 4.0.1
Thank you very much for the reply.
The qmlvideofx player does seem to work. Any clue as to why the non-QML version hangs? I think we can work with the QML-based version moving forward, but understanding the limitations/shortcomings of the other player will be helpful in future projects.
I didn't investigate as our customer is using QML.