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

login
register
mail settings
Submitter Carlos Rafael Giani
Date May 6, 2014, 7:02 p.m.
Message ID <1399402958-13596-1-git-send-email-dv@pseudoterminal.org>
Download mbox | patch
Permalink /patch/71621/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Carlos Rafael Giani - May 6, 2014, 7:02 p.m.
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
---
 .../packagegroup-imx-gstreamer1.0-commercial.bb    |  22 ++++
 .../packagegroup-imx-gstreamer1.0-full.bb          |  16 +++
 .../packagegroups/packagegroup-imx-gstreamer1.0.bb | 118 +++++++++++++++++++++
 3 files changed, 156 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 - May 6, 2014, 7:37 p.m.
Hello Carlos,

First, thank you for looking at this. This is quite important to
provide a pleasant experience for our users...

On Tue, May 6, 2014 at 4:02 PM, Carlos Rafael Giani
<dv@pseudoterminal.org> wrote:
> Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
> ---
>  .../packagegroup-imx-gstreamer1.0-commercial.bb    |  22 ++++
>  .../packagegroup-imx-gstreamer1.0-full.bb          |  16 +++
>  .../packagegroups/packagegroup-imx-gstreamer1.0.bb | 118 +++++++++++++++++++++
>  3 files changed, 156 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
>
> 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..d424d54
> --- /dev/null
> +++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
> @@ -0,0 +1,22 @@
> +DESCRIPTION = "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
> +
> +# only one package is produced: ${PN}
> +# so, nothing is added to PACKAGES
> +
> +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 \
> +"
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"

This one is not machine specific.

...
> new file mode 100644
> index 0000000..9ba1f4f
> --- /dev/null
> +++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
> @@ -0,0 +1,118 @@
> +DESCRIPTION = "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}-x11-base \
> +    ${PN}-wayland-base \
> +    ${PN}-audio \
> +    ${PN}-video \
> +    ${PN}-video-bad \
> +    ${PN}-debug \
> +    ${PN}-network-base \
> +    ${PN}-network \
> +"
> +
> +MACHINE_GSTREAMER_1_0_PLUGIN ?= "gstreamer1.0-plugins-imx"

I'd use:

SOC_GSTREAMER_SUPPORT ?= ""
SOC_GSTREAMER_SUPPORT_mx6 = "gstreamer1.0-plugins-imx"

MACHINE_GSTREAMER_1_0_PLUGIN should be set in imx-base so all mx6 share it.
...

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..d424d54
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-commercial.bb
@@ -0,0 +1,22 @@ 
+DESCRIPTION = "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
+
+# only one package is produced: ${PN}
+# so, nothing is added to PACKAGES
+
+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 \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
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..de797a6
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0-full.bb
@@ -0,0 +1,16 @@ 
+DESCRIPTION = "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..9ba1f4f
--- /dev/null
+++ b/recipes-multimedia/packagegroups/packagegroup-imx-gstreamer1.0.bb
@@ -0,0 +1,118 @@ 
+DESCRIPTION = "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}-x11-base \
+    ${PN}-wayland-base \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-video-bad \
+    ${PN}-debug \
+    ${PN}-network-base \
+    ${PN}-network \
+"
+
+MACHINE_GSTREAMER_1_0_PLUGIN ?= "gstreamer1.0-plugins-imx"
+
+RDEPENDS_${PN} = " \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-network-base \
+    ${PN}-debug \
+    ${MACHINE_GSTREAMER_1_0_PLUGIN} \
+"
+
+# basic plugins required in virtually every pipeline
+RDEPENDS_${PN}-base = " \
+    ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11-base', '', d)} \
+    ${@base_contains('DISTRO_FEATURES', 'wayland', '${PN}-wayland-base', '', d)} \
+    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 \
+"
+
+# X11 specific plugins
+RDEPENDS_${PN}-x11-base = " \
+    gstreamer1.0-plugins-base-ximagesink \
+    gstreamer1.0-plugins-base-xvimagesink \
+"
+
+# Wayland specific plugins
+RDEPENDS_${PN}-wayland-base = " \
+    gstreamer1.0-plugins-bad-waylandsink \
+"
+
+# 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}"