Hi all, I'm trying to perform video playback on a custom board using IMX6 Solo with Linux 4.14.98,
for that I build Gstreamer using the Yocto recipes:
DISTRO=fsl-imx-fb MACHINE=imx6solosabreauto source fsl-setup-release.sh -b mybuilddir
Then:
bitbake gstreamer1.0
bitbake gstreamer1.0-plugins-base
bitbake gstreamer1.0-plugins-good
bitbake gstreamer1.0-plugins-bad
bitbake gstreamer1.0-libav
bitbake imx-vpuwrap
bitbake imx-gst1.0-plugin
bitbake libimxvpuapi
bitbake gstreamer1.0-plugins-ugly
bitbake gstreamer1.0-libav
bitbake firmware-imx
Afterwards put the resulted plugins, libraries, firmware and binaries into my target.
But when I execute a pipeline that uses vpudec, such as:
# GST_DEBUG=3 ./gst-launch-1.0 filesrc location=/mnt/file.avi typefind=true ! av idemux ! vpudec ! imxv4l2sink
Or
# GST_DEBUG=3 ./gst-launch-1.0 -v playbin uri=file:///mnt/temp.mp4
Then the following error occurs:
open failed: No such file or directory
[ERR] Error: Unable to open vpu shared memory file
[ERR] IOSystemInit() failure.
The same error occurs by executing the VPU unit test
# ./mxc_vpu_test.out -D "-i ./akiyo.mp4 -f 0 -t 1"
---- Running < ./mxc_vpu_test.out > test ----
[INFO] VPU test program built on Mar 14 2021 23:38:06
open failed: No such file or directory
[ERR] Error: Unable to open vpu shared memory file
[ERR] IOSystemInit() failure.
[ERR] VPU Init Failure.
Even though the vpu device is listed under /dev/.
This error is not showing when using IMXVPUDEC and a different videosink, nevertheless I'm not able to see anything on the screen (attached log).
# GST_DEBUG=4 ./gst-launch-1.0 filesrc location=/mnt/temp.mp4 typefind=true ! qt demux ! queue ! imxvpudec ! imxipuvideosink