Patchwork [meta-fsl-arm,v3] packagegroup-imx-gstreamer1.0: Add new package groups for GStreamer 1.0

login
register
mail settings
Submitter Carlos Rafael Giani
Date June 30, 2014, 7:53 a.m.
Message ID <1404114788-30536-1-git-send-email-dv@pseudoterminal.org>
Download mbox | patch
Permalink /patch/74463/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Carlos Rafael Giani - June 30, 2014, 7:53 a.m.
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 .../packagegroup-imx-gstreamer1.0-commercial.bb    |  20 ++++
 .../packagegroup-imx-gstreamer1.0-full.bb          |  19 ++++
 .../packagegroups/packagegroup-imx-gstreamer1.0.bb | 118 +++++++++++++++++++++
 3 files changed, 157 insertions(+)
 create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
 create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
 create mode 100644 recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
Otavio Salvador - June 30, 2014, 11:43 a.m.
Hello Carlos,

On Mon, Jun 30, 2014 at 4:53 AM, Carlos Rafael Giani
<dv@pseudoterminal.org> wrote:
> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

I think you got the idea. The only missing thing I see is that the
summary is mostly the same between them all (and it'd be good to have
difference among them), and it does not make clear it is GStreamer 1.0
related.

Patch

diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
new file mode 100644
index 0000000..669c2ca
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
@@ -0,0 +1,20 @@ 
+DESCRIPTION = "Freescale package group which provides audio and video plugins \
+ that are subject to retricted licensing and/or royalties and thus require \
+ the 'commercial' license whitelist flag"
+SUMMARY = "Freescale package group - gstreamer"
+LICENSE = "MIT"
+LICENSE_FLAGS = "commercial"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit packagegroup
+
+RDEPENDS_${PN} = " \
+    packagegroup-imx-gstreamer1.0 \
+"
+
+# Plugins from the -ugly collection which require the "commercial" flag in LICENSE_FLAGS_WHITELIST to be set
+RDEPENDS_${PN} = " \
+    gstreamer1.0-plugins-ugly-mpg123 \
+    gstreamer1.0-plugins-ugly-asfdemux \
+"
diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
new file mode 100644
index 0000000..d42f82c
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
@@ -0,0 +1,19 @@ 
+DESCRIPTION = "Freescale package group which provides all GStreamer plugins from the \
+ base, good, and bad packages, as well as the ugly and libav ones if commercial packages \
+ are whitelisted, and plugins for the required hardware acceleration (if supported by the SoC)."
+SUMMARY = "Freescale package group - GStreamer full"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit packagegroup
+
+RDEPENDS_${PN} = " \
+    packagegroup-imx-gstreamer1.0 \
+    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'packagegroup-imx-gstreamer1.0-commercial', '', d)} \
+    gstreamer1.0-plugins-base-meta \
+    gstreamer1.0-plugins-good-meta \
+    gstreamer1.0-plugins-bad-meta \
+    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'gstreamer1.0-plugins-ugly-meta', '', d)} \
+    ${@base_contains('LICENSE_FLAGS_WHITELIST', 'commercial', 'gstreamer1.0-libav', '', d)} \
+"
diff --git a/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
new file mode 100644
index 0000000..c5e0fee
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
@@ -0,0 +1,118 @@ 
+DESCRIPTION = "Freescale package group which provides audio, video, networking and debug \
+ GStreamer plugins with the required hardware acceleration (if supported by the SoC)."
+SUMMARY = "Freescale package group - GStreamer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit packagegroup
+
+PACKAGES += " \
+    ${PN}-base \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-video-bad \
+    ${PN}-debug \
+    ${PN}-network-base \
+    ${PN}-network \
+"
+
+MACHINE_GSTREAMER_1_0_PLUGIN ?= ""
+
+RDEPENDS_${PN} = " \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-network-base \
+    ${PN}-debug \
+    ${MACHINE_GSTREAMER_1_0_PLUGIN} \
+"
+
+# List of X11 specific plugins
+GST_X11_PACKAGES = " \
+    gstreamer1.0-plugins-base-ximagesink \
+    gstreamer1.0-plugins-base-xvimagesink \
+"
+
+# List of Wayland specific plugins
+GST_WAYLAND_PACKAGES = " \
+    gstreamer1.0-plugins-bad-waylandsink \
+"
+
+# basic plugins required in virtually every pipeline
+RDEPENDS_${PN}-base = " \
+    gstreamer1.0 \
+    gstreamer1.0-plugins-base-playback \
+    gstreamer1.0-plugins-base-alsa \
+    gstreamer1.0-plugins-base-audioconvert \
+    gstreamer1.0-plugins-base-audioresample \
+    gstreamer1.0-plugins-base-gio \
+    gstreamer1.0-plugins-base-typefindfunctions \
+    gstreamer1.0-plugins-base-videoconvert \
+    gstreamer1.0-plugins-base-videoscale \
+    gstreamer1.0-plugins-base-volume \
+    gstreamer1.0-plugins-good-autodetect \
+    ${@base_contains('DISTRO_FEATURES', 'x11', '${GST_X11_PACKAGES}', '', d)} \
+    ${@base_contains('DISTRO_FEATURES', 'wayland', '${GST_WAYLAND_PACKAGES}', '', d)} \
+"
+
+# Basic audio plugins: parsers, demuxers, decoders
+RDEPENDS_${PN}-audio = " \
+    ${PN}-base \
+    gstreamer1.0-plugins-base-ivorbisdec \
+    gstreamer1.0-plugins-base-ogg \
+    gstreamer1.0-plugins-good-audioparsers \
+    gstreamer1.0-plugins-good-flac \
+    gstreamer1.0-plugins-good-icydemux \
+    gstreamer1.0-plugins-good-id3demux \
+    gstreamer1.0-plugins-good-speex \
+    gstreamer1.0-plugins-good-wavparse \
+"
+
+# Basic video plugins: parsers, demuxers
+RDEPENDS_${PN}-video = " \
+    ${PN}-base \
+    gstreamer1.0-plugins-base-subparse \
+    gstreamer1.0-plugins-base-theora \
+    gstreamer1.0-plugins-good-avi \
+    gstreamer1.0-plugins-good-flv \
+    gstreamer1.0-plugins-good-isomp4 \
+    gstreamer1.0-plugins-good-matroska \
+"
+
+RRECOMMENDS_${PN}-video = " \
+    ${PN}-audio \
+"
+
+# Additional video plugins from the -bad collection
+RDEPENDS_${PN}-video-bad = " \
+    ${PN}-video \
+    gstreamer1.0-plugins-bad-mpegpsdemux \
+    gstreamer1.0-plugins-bad-mpegtsdemux \
+    gstreamer1.0-plugins-bad-videoparsersbad \
+"
+
+# Plugins used for diagnostics and debugging of pipelines
+RDEPENDS_${PN}-debug = " \
+    ${PN}-base \
+    gstreamer1.0-plugins-base-audiotestsrc \
+    gstreamer1.0-plugins-base-videotestsrc \
+    gstreamer1.0-plugins-good-debug \
+    gstreamer1.0-plugins-good-navigationtest \
+"
+
+# Basic networking plugins required by most pipelines that receive and/or send data
+RDEPENDS_${PN}-network-base = " \
+    gstreamer1.0-plugins-base-tcp \
+    gstreamer1.0-plugins-good-souphttpsrc \
+    gstreamer1.0-plugins-good-udp \
+"
+
+# Additional networking plugins
+RDEPENDS_${PN}-network = " \
+    ${PN}-network-base \
+    gstreamer1.0-plugins-good-rtp \
+    gstreamer1.0-plugins-good-rtpmanager \
+    gstreamer1.0-plugins-good-rtsp \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"