[meta-freescale] [meta-fsl-arm][PATCH] gstreamer1.0-plugins-imx: Update to version 0.12.1

Gary Bisson gary.bisson at boundarydevices.com
Wed Apr 6 01:10:20 PDT 2016


Carlos, All,

On Wed, Apr 6, 2016 at 9:36 AM, Carlos Rafael Giani
<dv at pseudoterminal.org> wrote:
> The recipe now uses PACKAGECONFIG to allow for enabling/disabling plugins.
> Also, mx7 support has been added, and the libfslcodec->imx_codec renaming
> has been included.
>
> 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} | 34 +++++++++++++++++-----
>  1 file changed, 26 insertions(+), 8 deletions(-)
>  rename recipes-multimedia/gstreamer/{gstreamer1.0-plugins-imx_0.12.0.bb => gstreamer1.0-plugins-imx_0.12.1.bb} (61%)
>
> 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 61%
> 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..852388d 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"

Shouldn't plugins-bad be a dependency for v4l2src only?

>  # 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

Same for the RDEPENDS, I think they should be runtime dependencies of
uniaudiodec and vpu.

> @@ -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,27 @@ 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_mx6 = "g2d pxp ipu vpu eglvivsink v4l2src uniaudiodec mp3encoder"

Wouldn't it be better to split things here for each version of the
mx6, mx6sx doesn't need vpu nor ipu for instance, mx6sl doesn't need
eglvivsink either.

> +PACKAGECONFIG_mx7 = "g2d pxp ipu v4l2src uniaudiodec mp3encoder"

i.MX7 doesn't have an IPU nor a 2D GPU.

Regards,
Gary


More information about the meta-freescale mailing list