Skip to content
This repository has been archived by the owner on Mar 23, 2023. It is now read-only.

Commit

Permalink
gstreamer1.0-plugins-imx: Update to version 0.12.1
Browse files Browse the repository at this point in the history
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@pseudoterminal.org>
Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
  • Loading branch information
dv1 authored and otavio committed Apr 6, 2016
1 parent 3c683b9 commit cec4c47
Showing 1 changed file with 29 additions and 8 deletions.
Expand Up @@ -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
Expand All @@ -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"
Expand All @@ -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"
Expand All @@ -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"
Expand Down

0 comments on commit cec4c47

Please sign in to comment.