[meta-freescale] [meta-fsl-arm][PATCH v2 1/2] gstreamer1.0-plugins-imx: Update to version 0.12.1
Carlos Rafael Giani
dv at pseudoterminal.org
Wed Apr 6 07:13:26 PDT 2016
This one can also be applied to jethro.
The second patch is provided separately to make it easier to pick the
actual upgrade without having to rename imx-codec back to libfslcodec.
Also, it should make merging easier; this update can be committed before
or after the libfslcodec->imx-codec recipe renaming.
On 04/06/2016 04:10 PM, Carlos Rafael Giani wrote:
> The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins.
> Also, mx7 support has been added.
>
> Changes:
>
> * compositor: Rename ImxCompositor(Pad) to ImxVideoCompositor(Pad)
> This prevents conflicts if both the NXP plugins and the gstreamer-imx
> are installed in the same rootfs
>
> * Add switches to wscript configuration to enable/disable plugins
> Until now, all plugins were built (unless their dependencies were
> missing). On some i.MX machines, some features are missing. For
> example, the i.MX7 has no VPU. To ensure deterministic builds, it is
> useful to selectively disable plugins in the build.
>
> * ipu+pxp: : Fix deadlocks and incorrect logging in case of init error
> This was causing a freeze if for example one tries to use PxP elements
> on an i.MX6 Dual/Quad
>
> * imxv4l2videosrc fixes and enhancements:
> * fixes to interlacing support (incl. workarounds for analog TV input)
> * remove format restriction in get_caps function
> this removes the limitation on I420 formats
> * simplified determination of fps (necessary due to driver limitations)
>
> * eglvivsink: wayland: Do not commit before buffers are swapped
> This fixes eglSwapBuffer swaps with damaged frames
>
> * Documentation additions
> Adds GPU memory leak notess to the FAQ
>
> * vpu: encoder: Expose motion estimation range as property
>
> * vpu: decoder: Drop output frame if its buffer cannot be allocated
>
> Signed-off-by: Carlos Rafael Giani <dv at pseudoterminal.org>
> ---
> ....12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} | 37 +++++++++++++++++-----
> 1 file changed, 29 insertions(+), 8 deletions(-)
> rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} (57%)
>
> diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> similarity index 57%
> rename from recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
> rename to recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> index eaccb29..f968dbc 100644
> --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.0.bb
> +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.1.bb
> @@ -2,11 +2,9 @@ DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
> LICENSE = "LGPLv2+"
> LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
> SECTION = "multimedia"
> -# gstreamer1.0-plugins-bad is in DEPENDS because imxv4l2videosrc requires
> -# the GstPhotography headers and libraries
> -DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad imx-gpu-viv \
> - libfslcodec libimxvpuapi virtual/kernel virtual/egl virtual/libgles2 \
> - ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
> +# gstreamer1.0-plugins-bad is in DEPENDS because the build script scans for the
> +# GstPhotography headers and libraries
> +DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad virtual/kernel"
> # add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
> # for the uniaudio decoder, videoparsersbad for the VPU video decoder
> # the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
> @@ -16,7 +14,7 @@ RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audiopar
> RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
>
> SRCBRANCH ?= "master"
> -SRCREV = "f8ad953c458be6a89f474a948b6401664a6a1745"
> +SRCREV = "11a7b366f211e54e0ec67c692287603a02640ff6"
> SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
>
> S = "${WORKDIR}/git"
> @@ -33,7 +31,30 @@ EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
> base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
> 'fb', d),d)}"
>
> -EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
> +EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
> +EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include"
> +
> +EGLVIVSINK_DEPENDS = " \
> + virtual/egl virtual/libgles2 \
> + ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
> + base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
> + '', d),d)}"
> +
> +PACKAGECONFIG ?= ""
> +PACKAGECONFIG_mx6q = "uniaudiodec mp3encoder v4l2src g2d eglvivsink ipu vpu"
> +PACKAGECONFIG_mx6dl = "uniaudiodec mp3encoder v4l2src pxp g2d eglvivsink ipu vpu"
> +PACKAGECONFIG_mx6sx = "uniaudiodec mp3encoder v4l2src pxp g2d eglvivsink"
> +PACKAGECONFIG_mx6sl = "uniaudiodec mp3encoder v4l2src pxp g2d"
> +PACKAGECONFIG_mx7 = "uniaudiodec mp3encoder v4l2src pxp"
> +
> +PACKAGECONFIG[g2d] = ",--disable-g2d,imx-gpu-viv"
> +PACKAGECONFIG[pxp] = ",--disable-pxp,"
> +PACKAGECONFIG[ipu] = ",--disable-ipu,"
> +PACKAGECONFIG[vpu] = ",--disable-vpu,libimxvpuapi"
> +PACKAGECONFIG[eglvivsink] = "${EGL_PLATFORM_CONF},--disable-eglvivsink,${EGLVIVSINK_DEPENDS}"
> +PACKAGECONFIG[v4l2src] = ",--disable-v4l2src,"
> +PACKAGECONFIG[uniaudiodec] = ",--disable-uniaudiodec,libfslcodec"
> +PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,libfslcodec"
>
> # LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
> LIBV = "1.0"
> @@ -42,7 +63,7 @@ require recipes-multimedia/gstreamer/gst-plugins-package.inc
> # the following line is required to produce one package for each plugin
> PACKAGES_DYNAMIC = "^${PN}-.*"
>
> -COMPATIBLE_MACHINE = "(mx6)"
> +COMPATIBLE_MACHINE = "(mx6|mx7)"
>
> # disable the false alarm (the "it isn't a build dependency" QA warning)
> INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
More information about the meta-freescale
mailing list