Patchwork [meta-fsl-demos,v2,4/7] packagegroup-fsl-*, fsl-image-*: Gstreamer packagegroup refactoring

login
register
mail settings
Submitter Rogerio Nunes
Date Feb. 27, 2014, 7:53 a.m.
Message ID <1393487638-5096-4-git-send-email-ronunes@gmail.com>
Download mbox | patch
Permalink /patch/67569/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Rogerio Nunes - Feb. 27, 2014, 7:53 a.m.
From: Rogerio Nunes <rogerio.nunes@freescale.com>

This patch refactors packagegroup-fsl-gstreamer, bringing code from
gst-meta-base. This change makes this packagegroup more flexible
and prepares it for further changes. Also, as gst-meta-base explicitly
depends on gst-plugins-bad, and this dependency is not present in
packagegroup-fsl-gstreamer, build time for this pakagegroup has
improved.

This patch also creates the packagegroup-fsl-gstreamer-full
packagegroup, which can be used to add all the available plugins
to an image, including bad plugins and ugly plugins when
'commercial' is present in the license whitelist.

Gstreamer tools are removed from packagegroup-fsl-tools-testapps,
so now this packagegroup does not need to be machine dependent anymore.

Finally, this patch adds gst-plugins-good-meta to fsl-image-* images,
so that the images still have the same list of gstreamer plugins
available.

Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
---
 recipes-fsl/images/fsl-image-gui.bb                |  1 +
 recipes-fsl/images/fsl-image-test.bb               |  1 +
 .../packagegroup-fsl-gstreamer-full.bb             | 19 +++++++
 .../packagegroups/packagegroup-fsl-gstreamer.bb    | 66 ++++++++++++++++++++--
 .../packagegroup-fsl-tools-testapps.bb             |  6 --
 5 files changed, 82 insertions(+), 11 deletions(-)
 create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
Otavio Salvador - Feb. 27, 2014, 6:29 p.m.
On Thu, Feb 27, 2014 at 4:53 AM,  <ronunes@gmail.com> wrote:
> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>
> This patch refactors packagegroup-fsl-gstreamer, bringing code from
> gst-meta-base. This change makes this packagegroup more flexible
> and prepares it for further changes. Also, as gst-meta-base explicitly
> depends on gst-plugins-bad, and this dependency is not present in
> packagegroup-fsl-gstreamer, build time for this pakagegroup has
> improved.
>
> This patch also creates the packagegroup-fsl-gstreamer-full
> packagegroup, which can be used to add all the available plugins
> to an image, including bad plugins and ugly plugins when
> 'commercial' is present in the license whitelist.
>
> Gstreamer tools are removed from packagegroup-fsl-tools-testapps,
> so now this packagegroup does not need to be machine dependent anymore.
>
> Finally, this patch adds gst-plugins-good-meta to fsl-image-* images,
> so that the images still have the same list of gstreamer plugins
> available.
>
> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
> ---
>  recipes-fsl/images/fsl-image-gui.bb                |  1 +
>  recipes-fsl/images/fsl-image-test.bb               |  1 +
>  .../packagegroup-fsl-gstreamer-full.bb             | 19 +++++++
>  .../packagegroups/packagegroup-fsl-gstreamer.bb    | 66 ++++++++++++++++++++--
>  .../packagegroup-fsl-tools-testapps.bb             |  6 --
>  5 files changed, 82 insertions(+), 11 deletions(-)
>  create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
>
> diff --git a/recipes-fsl/images/fsl-image-gui.bb b/recipes-fsl/images/fsl-image-gui.bb
> index 5441272..666475a 100644
> --- a/recipes-fsl/images/fsl-image-gui.bb
> +++ b/recipes-fsl/images/fsl-image-gui.bb
> @@ -23,6 +23,7 @@ IMAGE_INSTALL += " \
>      cpufrequtils \
>      nano \
>      packagegroup-fsl-gstreamer \
> +    gst-plugins-good-meta \
>      packagegroup-fsl-tools-gpu \
>      packagegroup-fsl-tools-gpu-external \
>      packagegroup-fsl-tools-testapps \
> diff --git a/recipes-fsl/images/fsl-image-test.bb b/recipes-fsl/images/fsl-image-test.bb
> index 2570ac9..0408c7c 100644
> --- a/recipes-fsl/images/fsl-image-test.bb
> +++ b/recipes-fsl/images/fsl-image-test.bb
> @@ -14,6 +14,7 @@ EXTRA_IMAGE_FEATURES += " \
>
>  IMAGE_INSTALL += " \
>      packagegroup-fsl-gstreamer \
> +    gst-plugins-good-meta \
>      packagegroup-fsl-tools-gpu \
>      packagegroup-fsl-tools-gpu-external \
>      packagegroup-fsl-tools-testapps \
> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
> new file mode 100644
> index 0000000..3ed5d6f
> --- /dev/null
> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
> @@ -0,0 +1,19 @@
> +# Copyright (C) 2014 Freescale Semiconductor
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +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-fsl-gstreamer \
> +    gst-plugins-base-meta \
> +    gst-plugins-good-meta \
> +    gst-plugins-bad-meta \
> +    ${@base_contains('DISTRO_FEATURES', 'opengl', \
> +                      base_contains('DISTRO_FEATURES', 'x11', \
> +                                    'gst-plugins-gl', '', d), '', d)} \
> +"

You had a extra training space before \; I fixed it when applying the
patch but please fix it at your copy to avoid re-introducing it if a
v3 is needed.

> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
> index c071e75..17f2f6e 100644
> --- a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
> @@ -9,21 +9,77 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>  inherit packagegroup
>
>  PACKAGES += " \
> +    ${PN}-base \
> +    ${PN}-x11-base \
> +    ${PN}-audio \
> +    ${PN}-video \
> +    ${PN}-debug \
>      ${PN}-streamer \
>  "
>
>  MACHINE_GSTREAMER_PLUGIN ?= ""
>
>  RDEPENDS_${PN} = " \
> -    gst-meta-audio \
> -    gst-meta-video \
> -    gst-meta-debug \
> -    gst-plugins-good-meta \
> +    ${PN}-audio \
> +    ${PN}-video \
> +    ${PN}-debug \
>      ${MACHINE_GSTREAMER_PLUGIN} \
> +    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
> +"
> +
> +RDEPENDS_${PN}-base = " \
> +    ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11-base', '', d)} \
> +    gstreamer \
> +    gst-plugins-base-playbin \
> +    gst-plugins-base-decodebin \
> +    gst-plugins-base-decodebin2 \
> +    gst-plugins-base-gio \
> +    gst-plugins-base-alsa \
> +    gst-plugins-base-volume \
> +    gst-plugins-base-audioconvert \
> +    gst-plugins-base-audioresample \
> +    gst-plugins-base-typefindfunctions \
> +    gst-plugins-base-videoscale \
> +    gst-plugins-base-ffmpegcolorspace \
> +    gst-plugins-good-autodetect \
> +    gst-plugins-good-souphttpsrc \
> +"
> +
> +RDEPENDS_${PN}-x11-base = " \
> +    gst-plugins-base-ximagesink \
> +    gst-plugins-base-xvimagesink \
> +"
> +
> +RDEPENDS_${PN}-audio = " \
> +    ${PN}-base \
> +    gst-plugins-base-vorbis \
> +    gst-plugins-base-ogg \
> +    gst-plugins-good-wavparse \
> +    gst-plugins-good-flac \
> +    ${COMMERCIAL_AUDIO_PLUGINS} \
> +"
> +
> +RDEPENDS_${PN}-video = " \
> +    ${PN}-base \
> +    gst-plugins-good-avi \
> +    gst-plugins-good-matroska \
> +    gst-plugins-base-theora \
> +    ${COMMERCIAL_VIDEO_PLUGINS} \
> +"
> +
> +RRECOMMENDS_${PN}-video = " \
> +    ${PN}-audio \
> +"
> +
> +RDEPENDS_${PN}-debug = " \
> +    ${PN}-base \
> +    gst-plugins-good-debug \
> +    gst-plugins-base-audiotestsrc \
> +    gst-plugins-base-videotestsrc \
>  "
>
>  RDEPENDS_${PN}-streamer = " \
> -    ${PN} \
> +    ${PN}-base \
>      gst-plugins-good-udp \
>      gst-plugins-good-rtp \
>      gst-plugins-good-rtpmanager \
> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
> index 6a7d92d..f2d4bdf 100644
> --- a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
> @@ -8,17 +8,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>
>  inherit packagegroup
>
> -MACHINE_GSTREAMER_PLUGIN ?= ""
> -
>  RDEPENDS_${PN} = " \
> -    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
>      alsa-utils \
>      alsa-tools \
>      dosfstools \
>      evtest \
>      e2fsprogs-mke2fs \
>      fsl-rc-local \
> -    gst-plugins-base-tcp \
>      i2c-tools \
>      imx-test \
>      iproute2 \
> @@ -31,5 +27,3 @@ RDEPENDS_${PN} = " \
>      mtd-utils \
>      mtd-utils-ubifs \
>  "
> -
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> --
> 1.8.3.2
>
> _______________________________________________
> meta-freescale mailing list
> meta-freescale@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-freescale
Rogerio Nunes - Feb. 28, 2014, 2:51 a.m.
On Thu, Feb 27, 2014 at 1:29 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> On Thu, Feb 27, 2014 at 4:53 AM,  <ronunes@gmail.com> wrote:
>> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>>
>> This patch refactors packagegroup-fsl-gstreamer, bringing code from
>> gst-meta-base. This change makes this packagegroup more flexible
>> and prepares it for further changes. Also, as gst-meta-base explicitly
>> depends on gst-plugins-bad, and this dependency is not present in
>> packagegroup-fsl-gstreamer, build time for this pakagegroup has
>> improved.
>>
>> This patch also creates the packagegroup-fsl-gstreamer-full
>> packagegroup, which can be used to add all the available plugins
>> to an image, including bad plugins and ugly plugins when
>> 'commercial' is present in the license whitelist.
>>
>> Gstreamer tools are removed from packagegroup-fsl-tools-testapps,
>> so now this packagegroup does not need to be machine dependent anymore.
>>
>> Finally, this patch adds gst-plugins-good-meta to fsl-image-* images,
>> so that the images still have the same list of gstreamer plugins
>> available.
>>
>> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
>> ---
>>  recipes-fsl/images/fsl-image-gui.bb                |  1 +
>>  recipes-fsl/images/fsl-image-test.bb               |  1 +
>>  .../packagegroup-fsl-gstreamer-full.bb             | 19 +++++++
>>  .../packagegroups/packagegroup-fsl-gstreamer.bb    | 66 ++++++++++++++++++++--
>>  .../packagegroup-fsl-tools-testapps.bb             |  6 --
>>  5 files changed, 82 insertions(+), 11 deletions(-)
>>  create mode 100644 recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
>>
>> diff --git a/recipes-fsl/images/fsl-image-gui.bb b/recipes-fsl/images/fsl-image-gui.bb
>> index 5441272..666475a 100644
>> --- a/recipes-fsl/images/fsl-image-gui.bb
>> +++ b/recipes-fsl/images/fsl-image-gui.bb
>> @@ -23,6 +23,7 @@ IMAGE_INSTALL += " \
>>      cpufrequtils \
>>      nano \
>>      packagegroup-fsl-gstreamer \
>> +    gst-plugins-good-meta \
>>      packagegroup-fsl-tools-gpu \
>>      packagegroup-fsl-tools-gpu-external \
>>      packagegroup-fsl-tools-testapps \
>> diff --git a/recipes-fsl/images/fsl-image-test.bb b/recipes-fsl/images/fsl-image-test.bb
>> index 2570ac9..0408c7c 100644
>> --- a/recipes-fsl/images/fsl-image-test.bb
>> +++ b/recipes-fsl/images/fsl-image-test.bb
>> @@ -14,6 +14,7 @@ EXTRA_IMAGE_FEATURES += " \
>>
>>  IMAGE_INSTALL += " \
>>      packagegroup-fsl-gstreamer \
>> +    gst-plugins-good-meta \
>>      packagegroup-fsl-tools-gpu \
>>      packagegroup-fsl-tools-gpu-external \
>>      packagegroup-fsl-tools-testapps \
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
>> new file mode 100644
>> index 0000000..3ed5d6f
>> --- /dev/null
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
>> @@ -0,0 +1,19 @@
>> +# Copyright (C) 2014 Freescale Semiconductor
>> +# Released under the MIT license (see COPYING.MIT for the terms)
>> +
>> +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-fsl-gstreamer \
>> +    gst-plugins-base-meta \
>> +    gst-plugins-good-meta \
>> +    gst-plugins-bad-meta \
>> +    ${@base_contains('DISTRO_FEATURES', 'opengl', \
>> +                      base_contains('DISTRO_FEATURES', 'x11', \
>> +                                    'gst-plugins-gl', '', d), '', d)} \
>> +"
>
> You had a extra training space before \; I fixed it when applying the
> patch but please fix it at your copy to avoid re-introducing it if a
> v3 is needed.

Thanks. Fixed locally.

>
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> index c071e75..17f2f6e 100644
>> --- a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
>> @@ -9,21 +9,77 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>>  inherit packagegroup
>>
>>  PACKAGES += " \
>> +    ${PN}-base \
>> +    ${PN}-x11-base \
>> +    ${PN}-audio \
>> +    ${PN}-video \
>> +    ${PN}-debug \
>>      ${PN}-streamer \
>>  "
>>
>>  MACHINE_GSTREAMER_PLUGIN ?= ""
>>
>>  RDEPENDS_${PN} = " \
>> -    gst-meta-audio \
>> -    gst-meta-video \
>> -    gst-meta-debug \
>> -    gst-plugins-good-meta \
>> +    ${PN}-audio \
>> +    ${PN}-video \
>> +    ${PN}-debug \
>>      ${MACHINE_GSTREAMER_PLUGIN} \
>> +    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
>> +"
>> +
>> +RDEPENDS_${PN}-base = " \
>> +    ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11-base', '', d)} \
>> +    gstreamer \
>> +    gst-plugins-base-playbin \
>> +    gst-plugins-base-decodebin \
>> +    gst-plugins-base-decodebin2 \
>> +    gst-plugins-base-gio \
>> +    gst-plugins-base-alsa \
>> +    gst-plugins-base-volume \
>> +    gst-plugins-base-audioconvert \
>> +    gst-plugins-base-audioresample \
>> +    gst-plugins-base-typefindfunctions \
>> +    gst-plugins-base-videoscale \
>> +    gst-plugins-base-ffmpegcolorspace \
>> +    gst-plugins-good-autodetect \
>> +    gst-plugins-good-souphttpsrc \
>> +"
>> +
>> +RDEPENDS_${PN}-x11-base = " \
>> +    gst-plugins-base-ximagesink \
>> +    gst-plugins-base-xvimagesink \
>> +"
>> +
>> +RDEPENDS_${PN}-audio = " \
>> +    ${PN}-base \
>> +    gst-plugins-base-vorbis \
>> +    gst-plugins-base-ogg \
>> +    gst-plugins-good-wavparse \
>> +    gst-plugins-good-flac \
>> +    ${COMMERCIAL_AUDIO_PLUGINS} \
>> +"
>> +
>> +RDEPENDS_${PN}-video = " \
>> +    ${PN}-base \
>> +    gst-plugins-good-avi \
>> +    gst-plugins-good-matroska \
>> +    gst-plugins-base-theora \
>> +    ${COMMERCIAL_VIDEO_PLUGINS} \
>> +"
>> +
>> +RRECOMMENDS_${PN}-video = " \
>> +    ${PN}-audio \
>> +"
>> +
>> +RDEPENDS_${PN}-debug = " \
>> +    ${PN}-base \
>> +    gst-plugins-good-debug \
>> +    gst-plugins-base-audiotestsrc \
>> +    gst-plugins-base-videotestsrc \
>>  "
>>
>>  RDEPENDS_${PN}-streamer = " \
>> -    ${PN} \
>> +    ${PN}-base \
>>      gst-plugins-good-udp \
>>      gst-plugins-good-rtp \
>>      gst-plugins-good-rtpmanager \
>> diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> index 6a7d92d..f2d4bdf 100644
>> --- a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> +++ b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
>> @@ -8,17 +8,13 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
>>
>>  inherit packagegroup
>>
>> -MACHINE_GSTREAMER_PLUGIN ?= ""
>> -
>>  RDEPENDS_${PN} = " \
>> -    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
>>      alsa-utils \
>>      alsa-tools \
>>      dosfstools \
>>      evtest \
>>      e2fsprogs-mke2fs \
>>      fsl-rc-local \
>> -    gst-plugins-base-tcp \
>>      i2c-tools \
>>      imx-test \
>>      iproute2 \
>> @@ -31,5 +27,3 @@ RDEPENDS_${PN} = " \
>>      mtd-utils \
>>      mtd-utils-ubifs \
>>  "
>> -
>> -PACKAGE_ARCH = "${MACHINE_ARCH}"
>> --
>> 1.8.3.2
>>
>> _______________________________________________
>> meta-freescale mailing list
>> meta-freescale@yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/meta-freescale
>
>
>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750

Patch

diff --git a/recipes-fsl/images/fsl-image-gui.bb b/recipes-fsl/images/fsl-image-gui.bb
index 5441272..666475a 100644
--- a/recipes-fsl/images/fsl-image-gui.bb
+++ b/recipes-fsl/images/fsl-image-gui.bb
@@ -23,6 +23,7 @@  IMAGE_INSTALL += " \
     cpufrequtils \
     nano \
     packagegroup-fsl-gstreamer \
+    gst-plugins-good-meta \
     packagegroup-fsl-tools-gpu \
     packagegroup-fsl-tools-gpu-external \
     packagegroup-fsl-tools-testapps \
diff --git a/recipes-fsl/images/fsl-image-test.bb b/recipes-fsl/images/fsl-image-test.bb
index 2570ac9..0408c7c 100644
--- a/recipes-fsl/images/fsl-image-test.bb
+++ b/recipes-fsl/images/fsl-image-test.bb
@@ -14,6 +14,7 @@  EXTRA_IMAGE_FEATURES += " \
 
 IMAGE_INSTALL += " \
     packagegroup-fsl-gstreamer \
+    gst-plugins-good-meta \
     packagegroup-fsl-tools-gpu \
     packagegroup-fsl-tools-gpu-external \
     packagegroup-fsl-tools-testapps \
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
new file mode 100644
index 0000000..3ed5d6f
--- /dev/null
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer-full.bb
@@ -0,0 +1,19 @@ 
+# Copyright (C) 2014 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+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-fsl-gstreamer \
+    gst-plugins-base-meta \
+    gst-plugins-good-meta \
+    gst-plugins-bad-meta \
+    ${@base_contains('DISTRO_FEATURES', 'opengl', \
+                      base_contains('DISTRO_FEATURES', 'x11', \
+                                    'gst-plugins-gl', '', d), '', d)} \ 
+"
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
index c071e75..17f2f6e 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-gstreamer.bb
@@ -9,21 +9,77 @@  LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
 inherit packagegroup
 
 PACKAGES += " \
+    ${PN}-base \
+    ${PN}-x11-base \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-debug \
     ${PN}-streamer \
 "
 
 MACHINE_GSTREAMER_PLUGIN ?= ""
 
 RDEPENDS_${PN} = " \
-    gst-meta-audio \
-    gst-meta-video \
-    gst-meta-debug \
-    gst-plugins-good-meta \
+    ${PN}-audio \
+    ${PN}-video \
+    ${PN}-debug \
     ${MACHINE_GSTREAMER_PLUGIN} \
+    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
+"
+
+RDEPENDS_${PN}-base = " \
+    ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11-base', '', d)} \
+    gstreamer \
+    gst-plugins-base-playbin \
+    gst-plugins-base-decodebin \
+    gst-plugins-base-decodebin2 \
+    gst-plugins-base-gio \
+    gst-plugins-base-alsa \
+    gst-plugins-base-volume \
+    gst-plugins-base-audioconvert \
+    gst-plugins-base-audioresample \
+    gst-plugins-base-typefindfunctions \
+    gst-plugins-base-videoscale \
+    gst-plugins-base-ffmpegcolorspace \
+    gst-plugins-good-autodetect \
+    gst-plugins-good-souphttpsrc \
+"
+
+RDEPENDS_${PN}-x11-base = " \
+    gst-plugins-base-ximagesink \
+    gst-plugins-base-xvimagesink \
+"
+
+RDEPENDS_${PN}-audio = " \
+    ${PN}-base \
+    gst-plugins-base-vorbis \
+    gst-plugins-base-ogg \
+    gst-plugins-good-wavparse \
+    gst-plugins-good-flac \
+    ${COMMERCIAL_AUDIO_PLUGINS} \
+"
+
+RDEPENDS_${PN}-video = " \
+    ${PN}-base \
+    gst-plugins-good-avi \
+    gst-plugins-good-matroska \
+    gst-plugins-base-theora \
+    ${COMMERCIAL_VIDEO_PLUGINS} \
+"
+
+RRECOMMENDS_${PN}-video = " \
+    ${PN}-audio \
+"
+
+RDEPENDS_${PN}-debug = " \
+    ${PN}-base \
+    gst-plugins-good-debug \
+    gst-plugins-base-audiotestsrc \
+    gst-plugins-base-videotestsrc \
 "
 
 RDEPENDS_${PN}-streamer = " \
-    ${PN} \
+    ${PN}-base \
     gst-plugins-good-udp \
     gst-plugins-good-rtp \
     gst-plugins-good-rtpmanager \
diff --git a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
index 6a7d92d..f2d4bdf 100644
--- a/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
+++ b/recipes-fsl/packagegroups/packagegroup-fsl-tools-testapps.bb
@@ -8,17 +8,13 @@  LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3
 
 inherit packagegroup
 
-MACHINE_GSTREAMER_PLUGIN ?= ""
-
 RDEPENDS_${PN} = " \
-    ${@base_contains("MACHINE_GSTREAMER_PLUGIN", "gst-fsl-plugin", "gst-fsl-plugin-gplay", "", d)} \
     alsa-utils \
     alsa-tools \
     dosfstools \
     evtest \
     e2fsprogs-mke2fs \
     fsl-rc-local \
-    gst-plugins-base-tcp \
     i2c-tools \
     imx-test \
     iproute2 \
@@ -31,5 +27,3 @@  RDEPENDS_${PN} = " \
     mtd-utils \
     mtd-utils-ubifs \
 "
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"