diff options
Diffstat (limited to 'recipes-multimedia/gstreamer')
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" |