summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/gstreamer
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/gstreamer')
-rw-r--r--recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb69
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend11
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch31
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend10
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb45
5 files changed, 166 insertions, 0 deletions
diff --git a/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb b/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb
new file mode 100644
index 00000000..ab28bc12
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gst1.0-fsl-plugin_4.0.3.bb
@@ -0,0 +1,69 @@
1# Copyright (C) 2014,2015 Freescale Semiconductor
2# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "Gstreamer freescale plugins"
6LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
7SECTION = "multimedia"
8
9DEPENDS = "libfslcodec libfslparser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base"
10DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap"
11DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap"
12DEPENDS_append_mx6sl = " imx-lib"
13DEPENDS_append_mx6sx = " imx-lib"
14
15LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
16 file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
17 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
18
19SRC_URI = "${FSL_MIRROR}/gst1.0-fsl-plugins-${PV}.tar.gz"
20SRC_URI[md5sum] = "b5c1072536479c174bda1349ade5d10c"
21SRC_URI[sha256sum] = "9d5c051cbde023014e67fde07bc314b6b9a5e7030e24eb0d8afdf33e7e458125"
22
23S = "${WORKDIR}/gst1.0-fsl-plugins-${PV}"
24
25inherit autotools pkgconfig
26
27# Make sure kernel sources are available
28do_configure[depends] += "virtual/kernel:do_shared_workdir"
29
30PLATFORM_mx6 = "MX6"
31PLATFORM_mx6sl = "MX6SL"
32PLATFORM_mx6sx = "MX6SX"
33
34# Todo add a mechanism to map possible build targets
35EXTRA_OECONF = "PLATFORM=${PLATFORM} \
36 CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" \
37 CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}"
38
39PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl"
40
41# Add codec list that the beep plugin run-time depended
42BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis"
43RDEPENDS_${PN} += "libfslparser ${BEEP_RDEPENDS}"
44
45PACKAGECONFIG ?= ""
46PACKAGECONFIG_mx6 = "overlaysink"
47
48# FIXME: Add all features
49# feature from excluded mm packages
50PACKAGECONFIG[ac3] += ",,libfslac3codec,libfslac3codec"
51# feature from special mm packages
52PACKAGECONFIG[aacp] += ",,libfslaacpcodec,libfslaacpcodec"
53MSDEPENDS = "libfslmsparser libfslmscodec"
54PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}"
55PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}"
56OVDEPENDS = "virtual/libg2d"
57PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}"
58
59FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
60RDEPENDS_${PN} += "gstreamer1.0-plugins-good-id3demux"
61
62FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
63FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
64FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
65FILES_${PN}-gplay = "${bindir}/gplay-1.0"
66FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
67FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
68
69COMPATIBLE_MACHINE = "(mx6)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
new file mode 100644
index 00000000..bcce7c78
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
@@ -0,0 +1,11 @@
1# Vivante EGL headers require the correct preprocessor
2# defines to be set for each platform
3CFLAGS_append_mx6 = " -DLINUX \
4 ${@base_contains('DISTRO_FEATURES', 'x11', '', \
5 base_contains('DISTRO_FEATURES', 'wayland', '-DEGL_API_FB -DWL_EGL_PLATFORM', \
6 base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB -I${STAGING_INCDIR}/directfb', \
7 '-DEGL_API_FB', d),d),d)}"
8
9PACKAGECONFIG_GL_mx6sl = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
10 base_contains('DISTRO_FEATURES', 'x11', \
11 'opengl', '', d), '', d)}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch
new file mode 100644
index 00000000..15322bd6
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/gstplaybin-enable-native-video.patch
@@ -0,0 +1,31 @@
1From 9cfb86cd100904f0ef2626f348695bd2d3416c6a Mon Sep 17 00:00:00 2001
2From: Jian Li <jian.li@freescale.com>
3Date: Mon, 23 Jun 2014 14:14:07 +0800
4Subject: [PATCH] gstplaybin enable native video
5
6- use native video patch in playbin for i.MX SoCs
7
8Upstream Status: Inappropriate [platform specific]
9
10Signed-off-by: Jian Li <jian.li@freescale.com>
11---
12 gst/playback/gstplaybin2.c | 3 +--
13 1 file changed, 1 insertion(+), 2 deletions(-)
14
15diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
16index fc02ca3..c342438 100644
17--- a/gst/playback/gstplaybin2.c
18+++ b/gst/playback/gstplaybin2.c
19@@ -511,8 +511,7 @@ struct _GstPlayBinClass
20 #define DEFAULT_SUBURI NULL
21 #define DEFAULT_SOURCE NULL
22 #define DEFAULT_FLAGS GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
23- GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \
24- GST_PLAY_FLAG_SOFT_COLORBALANCE
25+ GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO
26 #define DEFAULT_N_VIDEO 0
27 #define DEFAULT_CURRENT_VIDEO -1
28 #define DEFAULT_N_AUDIO 0
29--
301.7.9.5
31
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
new file mode 100644
index 00000000..5b939d4f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
@@ -0,0 +1,10 @@
1
2FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
3
4SRC_URI_append_mxs = " file://gstplaybin-enable-native-video.patch"
5SRC_URI_append_mx5 = " file://gstplaybin-enable-native-video.patch"
6SRC_URI_append_mx6 = " file://gstplaybin-enable-native-video.patch"
7
8PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}"
9PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}"
10PACKAGE_ARCH_mx6 = "${MACHINE_SOCARCH}"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb
new file mode 100644
index 00000000..bfb70809
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_0.10.2.bb
@@ -0,0 +1,45 @@
1DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
2LICENSE = "LGPLv2+"
3LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
4SECTION = "multimedia"
5DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base imx-gpu-viv libfslcodec libfslvpuwrap virtual/kernel virtual/egl \
6 virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
7# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
8# for the uniaudio decoder, videoparsersbad for the VPU video decoder
9# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good and -bad recipes are built
10RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
11RDEPENDS_gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
12RDEPENDS_gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
13
14SRCBRANCH ?= "master"
15SRCREV = "cd04f047e17cbdff5d8e075be7dccaf4522ad713"
16SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH}"
17
18S = "${WORKDIR}/git"
19
20inherit waf
21
22do_compile[depends] += "virtual/kernel:do_shared_workdir"
23
24# configure the eglvivsink element to use the appropriate EGL platform code
25# X11 if x11 is present in DISTRO_FEATURES
26# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is
27# Framebuffer otherwise
28EGLVIVSINK_PLATFORM = "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', \
29 base_contains('DISTRO_FEATURES', 'wayland', 'wayland', \
30 'fb', d),d)}"
31
32EXTRA_OECONF = "--egl-platform=${EGLVIVSINK_PLATFORM} --kernel-headers=${STAGING_KERNEL_DIR}/include"
33
34# LIBV is used by gst-plugins-package.inc to specify the GStreamer version (0.10 vs 1.0)
35LIBV = "1.0"
36require recipes-multimedia/gstreamer/gst-plugins-package.inc
37
38# the following line is required to produce one package for each plugin
39PACKAGES_DYNAMIC = "^${PN}-.*"
40
41COMPATIBLE_MACHINE = "(mx6)"
42
43# disable the false alarm (the "it isn't a build dependency" QA warning)
44INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
45INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps"