summaryrefslogtreecommitdiff
path: root/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.12.2.bb
blob: aeff7eb79c81837b0687c2e2f175e3e036ebfa8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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 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
# build (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good"
RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"

SRCBRANCH ?= "master"
SRCREV = "50ddcd9f2b6ecc3d94d0d2f71b6de841d8a8fb7b"
SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"

S = "${WORKDIR}/git"

inherit waf

do_compile[depends] += "virtual/kernel:do_shared_workdir"

# configure the eglvivsink element to use the appropriate EGL platform code
# Wayland if 'wayland' is present in DISTRO_FEATURES, if not,
# X11 if x11 is present in DISTRO_FEATURES,
# Framebuffer otherwise
EGLVIVSINK_PLATFORM = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
                          bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
                          'fb', d),d)}"

EGL_PLATFORM_CONF = "--egl-platform=${EGLVIVSINK_PLATFORM}"
EXTRA_OECONF = "--kernel-headers=${STAGING_KERNEL_DIR}/include ${PACKAGECONFIG_CONFARGS}"

EGLVIVSINK_DEPENDS = " \
    virtual/egl virtual/libgles2 \
    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', \
       bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
       '', d),d)}"

PACKAGECONFIG ?= "uniaudiodec mp3encoder v4l2src"
PACKAGECONFIG_append_imxgpu3d = " eglvivsink"
PACKAGECONFIG_append_imxgpu2d = " g2d"
PACKAGECONFIG_append_imxipu   = " ipu"
PACKAGECONFIG_append_imxvpu   = " vpu"
PACKAGECONFIG_append_imxpxp   = " 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,imx-codec"
PACKAGECONFIG[mp3encoder] = ",--disable-mp3encoder,imx-codec"

# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
LIBV = "1.0"
require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc

# the following line is required to produce one package for each plugin
PACKAGES_DYNAMIC = "^${PN}-.*"

COMPATIBLE_MACHINE = "(mx6|mx7)"