Hi,
We've been using Yocto Jethro build with gstreamer imxvpu plugins to stream video and audio over the last couple years. We've recently upgraded to Yocto Dunfell and we've noticed that the IMX plugins are missing. I've attached an image below showing the plugins using gst-inspect-1.0 that are missing on Dunfell. Are there specific instructions to get them added?
I've tried following these instructions listed here https://developer.ridgerun.com/wiki/index.php?title=IMX8/Multimedia/Gstreamer_Support/Package_Instal... but getting
gstreamer1.0-plugins-imx was skipped: incompatible with machine wandboard (not in COMPATIBLE_MACHINE)
We are using the same bitbake recipes as we did in Jethro which builds fine but the imx plugins are still missing.
Here's a sample of recipe.
MACHINE ??= 'wandboard'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= 'package_rpm'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-system-native = " sdl"
CONF_VERSION = "1"
LICENSE_FLAGS_WHITELIST = "commercial_gstreamer1.0-libav commercial_ffmpeg commercial_x264 commercial_lame"
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
RM_OLD_IMAGE = "1"
# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "cacao-native"
# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"
IMAGE_INSTALL_append = " libgcc \
libstdc++ libstdc++-dev libstdc++-staticdev \
autoconf automake ccache glib-networking glibmm \
packagegroup-core-buildessential pkgconfig \
boost cmake zlib glib-2.0-dev packagegroup-fsl-tools-testapps \
gdb \
alsa-utils-scripts \
cppunit \
alsa-oss \
protobuf \
openssh-sftp-server \
fluidsynth-dbg fluidsynth-dev fluidsynth-bin fluidsynth \
pulseaudio-server pulseaudio-misc pulseaudio-module-console-kit pulseaudio-dev pulseaudio \
bluez5 bluez5-dbg bluez5-dev bluez5-testtools \
bluez5-obex bluez5-noinst-tools \
pulseaudio-module-bluetooth-discover \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-meta-base gstreamer1.0-rtsp-server \
gstreamer1.0-libav \
gstreamer1.0 \
gstreamer1.0-dbg gstreamer1.0-dev \
Hi @Bilal
Official imx plugins tree :https://source.codeaurora.org/external/imx/imx-gst1.0-plugin/tree/?h=lf-5.10.72-2.2.0
From your local.conf, you miss below configs:
And you need add your machine name wandboard to COMPATIBLE_MACHINE in imx-gst1.0-plugin.
incompatible with machine wandboard (not in COMPATIBLE_MACHINE)
Regards
Zhiming
Hi,
Thank you for your quick response. I made the suggested changes as follows, I had to add the following to all the dependency libraries and plugins related to imx-gst1.0-plugin.
COMPATIBLE_MACHINE = "(mx6|mx7|mx8|wandboard)"
COMPATIBLE_HOST = "arm-poky-linux-gnueabi"
I'm getting the following build errors now. Also I realized the imx plugin you referred me to is for imx8 but we're using an imx6. Any other ideas?
In file included from ../../git/libs/device-2d/imx_2d_device_allocator.c:20:
| ../../git/libs/device-2d/imx_2d_device_allocator.h:24:10: fatal error: gst/allocators/gstallocatorphymem.h: No such file or directory
| 24 | #include <gst/allocators/gstallocatorphymem.h>
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[1]: *** [Makefile:651: libgstfsl_1.0_la-imx_2d_device_allocator.lo] Error 1
| make[1]: *** Waiting for unfinished jobs....
| In file included from ../../git/libs/device-2d/imx_2d_device.h:25,
| from ../../git/libs/device-2d/imx_2d_device.c:20:
| ../../git/libs/device-2d/imx_2d_device_allocator.h:24:10: fatal error: gst/allocators/gstallocatorphymem.h: No such file or directory
| 24 | #include <gst/allocators/gstallocatorphymem.h>
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| In file included from ../../git/libs/overlaycompositionmeta/../device-2d/imx_2d_device.h:25,
| from ../../git/libs/overlaycompositionmeta/imxoverlaycompositionmeta.h:25,
| from ../../git/libs/overlaycompositionmeta/imxoverlaycompositionmeta.c:30:
| ../../git/libs/overlaycompositionmeta/../device-2d/imx_2d_device_allocator.h:24:10: fatal error: gst/allocators/gstallocatorphymem.h: No such file or directory
| 24 | #include <gst/allocators/gstallocatorphymem.h>
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[1]: *** [Makefile:658: libgstfsl_1.0_la-imxoverlaycompositionmeta.lo] Error 1
| make[1]: *** [Makefile:644: libgstfsl_1.0_la-imx_2d_device.lo] Error 1
| make[1]: Leaving directory '/home/controller/fsl-bsp/build/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/imx-gst1.0-plugin/4.5.3-r0/build/libs'
| make: *** [Makefile:598: all-recursive] Error 1
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/controller/fsl-bsp/build/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/imx-gst1.0-plugin/4.5.3-r0/temp/run.do_compile.2956' failed with exit code 1
ERROR: Task (/home/controller/fsl-bsp/sources/meta-freescale/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.5.3.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 6567 tasks of which 6564 didn't need to be rerun and 1 failed.
NOTE: Writing buildhistory
NOTE: Writing buildhistory took: 1 seconds