aboutsummaryrefslogtreecommitdiffstats
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 @@
+# Copyright (C) 2014,2015 Freescale Semiconductor
+# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "Gstreamer freescale plugins"
+LICENSE = "GPLv2 & LGPLv2 & LGPLv2.1"
+SECTION = "multimedia"
+
+DEPENDS = "libfslcodec libfslparser virtual/kernel gstreamer1.0 gstreamer1.0-plugins-base"
+DEPENDS_append_mx6q = " imx-lib imx-vpu libfslvpuwrap"
+DEPENDS_append_mx6dl = " imx-lib imx-vpu libfslvpuwrap"
+DEPENDS_append_mx6sl = " imx-lib"
+DEPENDS_append_mx6sx = " imx-lib"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
+ file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
+
+SRC_URI = "${FSL_MIRROR}/gst1.0-fsl-plugins-${PV}.tar.gz"
+SRC_URI[md5sum] = "b5c1072536479c174bda1349ade5d10c"
+SRC_URI[sha256sum] = "9d5c051cbde023014e67fde07bc314b6b9a5e7030e24eb0d8afdf33e7e458125"
+
+S = "${WORKDIR}/gst1.0-fsl-plugins-${PV}"
+
+inherit autotools pkgconfig
+
+# Make sure kernel sources are available
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+PLATFORM_mx6 = "MX6"
+PLATFORM_mx6sl = "MX6SL"
+PLATFORM_mx6sx = "MX6SX"
+
+# Todo add a mechanism to map possible build targets
+EXTRA_OECONF = "PLATFORM=${PLATFORM} \
+ CPPFLAGS="-I${STAGING_KERNEL_DIR}/include/uapi -I${STAGING_KERNEL_DIR}/include" \
+ CROSS_ROOT=${PKG_CONFIG_SYSROOT_DIR}"
+
+PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl"
+
+# Add codec list that the beep plugin run-time depended
+BEEP_RDEPENDS = "libfslcodec-aac libfslcodec-mp3 libfslcodec-oggvorbis"
+RDEPENDS_${PN} += "libfslparser ${BEEP_RDEPENDS}"
+
+PACKAGECONFIG ?= ""
+PACKAGECONFIG_mx6 = "overlaysink"
+
+# FIXME: Add all features
+# feature from excluded mm packages
+PACKAGECONFIG[ac3] += ",,libfslac3codec,libfslac3codec"
+# feature from special mm packages
+PACKAGECONFIG[aacp] += ",,libfslaacpcodec,libfslaacpcodec"
+MSDEPENDS = "libfslmsparser libfslmscodec"
+PACKAGECONFIG[wma10dec] += ",,${MSDEPENDS},${MSDEPENDS}"
+PACKAGECONFIG[wma8enc] += "--enable-wma8enc,--disable-wma8enc,${MSDEPENDS},${MSDEPENDS}"
+OVDEPENDS = "virtual/libg2d"
+PACKAGECONFIG[overlaysink] += "--enable-overlaysink,--disable-overlaysink, ${OVDEPENDS}"
+
+FILES_${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
+RDEPENDS_${PN} += "gstreamer1.0-plugins-good-id3demux"
+
+FILES_${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
+FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
+FILES_${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
+FILES_${PN}-gplay = "${bindir}/gplay-1.0"
+FILES_${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
+FILES_${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
+
+COMPATIBLE_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 @@
+# Vivante EGL headers require the correct preprocessor
+# defines to be set for each platform
+CFLAGS_append_mx6 = " -DLINUX \
+ ${@base_contains('DISTRO_FEATURES', 'x11', '', \
+ base_contains('DISTRO_FEATURES', 'wayland', '-DEGL_API_FB -DWL_EGL_PLATFORM', \
+ base_contains('DISTRO_FEATURES', 'directfb', '-DEGL_API_DFB -I${STAGING_INCDIR}/directfb', \
+ '-DEGL_API_FB', d),d),d)}"
+
+PACKAGECONFIG_GL_mx6sl = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
+ base_contains('DISTRO_FEATURES', 'x11', \
+ '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 @@
+From 9cfb86cd100904f0ef2626f348695bd2d3416c6a Mon Sep 17 00:00:00 2001
+From: Jian Li <jian.li@freescale.com>
+Date: Mon, 23 Jun 2014 14:14:07 +0800
+Subject: [PATCH] gstplaybin enable native video
+
+- use native video patch in playbin for i.MX SoCs
+
+Upstream Status: Inappropriate [platform specific]
+
+Signed-off-by: Jian Li <jian.li@freescale.com>
+---
+ gst/playback/gstplaybin2.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
+index fc02ca3..c342438 100644
+--- a/gst/playback/gstplaybin2.c
++++ b/gst/playback/gstplaybin2.c
+@@ -511,8 +511,7 @@ struct _GstPlayBinClass
+ #define DEFAULT_SUBURI NULL
+ #define DEFAULT_SOURCE NULL
+ #define DEFAULT_FLAGS GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
+- GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \
+- GST_PLAY_FLAG_SOFT_COLORBALANCE
++ GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_NATIVE_VIDEO
+ #define DEFAULT_N_VIDEO 0
+ #define DEFAULT_CURRENT_VIDEO -1
+ #define DEFAULT_N_AUDIO 0
+--
+1.7.9.5
+
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 @@
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI_append_mxs = " file://gstplaybin-enable-native-video.patch"
+SRC_URI_append_mx5 = " file://gstplaybin-enable-native-video.patch"
+SRC_URI_append_mx6 = " file://gstplaybin-enable-native-video.patch"
+
+PACKAGE_ARCH_mxs = "${MACHINE_SOCARCH}"
+PACKAGE_ARCH_mx5 = "${MACHINE_SOCARCH}"
+PACKAGE_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 @@
+DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
+LICENSE = "LGPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
+SECTION = "multimedia"
+DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base imx-gpu-viv libfslcodec libfslvpuwrap virtual/kernel virtual/egl \
+ virtual/libgles2 ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11', '', d)}"
+# 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 and -bad recipes are built
+RDEPENDS_gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
+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 = "cd04f047e17cbdff5d8e075be7dccaf4522ad713"
+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
+# X11 if x11 is present in DISTRO_FEATURES
+# Wayland if x11 is not present in DISTRO_FEATURES, but wayland is
+# Framebuffer otherwise
+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"
+
+# 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/gst-plugins-package.inc
+
+# the following line is required to produce one package for each plugin
+PACKAGES_DYNAMIC = "^${PN}-.*"
+
+COMPATIBLE_MACHINE = "(mx6)"
+
+# disable the false alarm (the "it isn't a build dependency" QA warning)
+INSANE_SKIP_gstreamer1.0-plugins-imx-imxaudio = "build-deps"
+INSANE_SKIP_gstreamer1.0-plugins-imx-imxvpu = "build-deps"