[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