* Previously adding acceleration was done by appending the base
GStreamer recipes to pull a new SRC_URI and make some other
simple changes.
* Now there is a need to be able to control whether to use the
accelerated version of GStreamer or not.
* In this case we need to be able to control this because
the foundation software for IPC is not yet in place to
allow us to build accelerated GStreamer plugins among
other packages.
* Instead, make a new package name for the GStreamer elements
by appending -mm-accel to the recipe name and have these
package PROVIDE and RPROVIDE the same packages as the base
recipes.
* This new recipe also requires the base recipe so that
changes can be shared between them.
* The use of these -mm-accel recipes requires the MACHINE_FEATURES
to specify mmip ability and the recipe checks if that is
available in order to parse properly.
* Following patches will set the PREFERRED_PROVIDER for these
elements also based on the mmip MACHINE_FEATURE.
Signed-off-by: Chase Maupin <[email protected]>
---
.../gstreamer/gst-plugins-bad-mm-accel_0.10.23.bb | 42 ++++++++++++++++++++
.../gstreamer/gst-plugins-bad_0.10.23.bbappend | 22 ----------
.../gstreamer/gst-plugins-base-mm-accel_0.10.36.bb | 40 +++++++++++++++++++
.../gstreamer/gst-plugins-base_0.10.36.bbappend | 20 ----------
.../gstreamer/gst-plugins-good-mm-accel_0.10.31.bb | 42 ++++++++++++++++++++
.../gstreamer/gst-plugins-good_0.10.31.bbappend | 23 -----------
.../gstreamer/gstreamer-mm-accel_0.10.36.bb | 33 +++++++++++++++
.../gstreamer/gstreamer_0.10.36.bbappend | 14 -------
8 files changed, 157 insertions(+), 79 deletions(-)
create mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad-mm-accel_0.10.23.bb
delete mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend
create mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base-mm-accel_0.10.36.bb
delete mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend
create mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good-mm-accel_0.10.31.bb
delete mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bbappend
create mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer-mm-accel_0.10.36.bb
delete mode 100644
meta-arago-extras/recipes-multimedia/gstreamer/gstreamer_0.10.36.bbappend
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad-mm-accel_0.10.23.bb
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad-mm-accel_0.10.23.bb
new file mode 100644
index 0000000..7f0bd86
--- /dev/null
+++
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad-mm-accel_0.10.23.bb
@@ -0,0 +1,42 @@
+# This recipe is not valid when not using accelerated multimedia IP
+python __anonymous() {
+ features = bb.data.getVar("MACHINE_FEATURES", d, 1)
+ if not features:
+ return
+ if "mmip" not in features:
+ raise bb.parse.SkipPackage('gst-plugins-bad needs dependencies derived
from "mmip" flag in MACHINE_FEATURES')
+}
+
+# Include the base gst-plugins-bad recipe since this recipe is heavily
+# derived from that one.
+require recipes-multimedia/gstreamer/gst-plugins-bad_${PV}.bb
+
+DESCRIPTION = "GStreamer bad plugins that use multimedia accelerators found on
\
+ TI devices"
+
+# Set PROVIDES and RPROVIDES values so that the base recipe names can still
+# be used and PREFERRED_PROVIDER can be used to pick between them.
+PROVIDES += "gst-plugins-bad"
+RPROVIDES_${PN} += "gst-plugins-bad"
+RPROVIDES_${PN}-dev += "gst-plugins-bad-dev"
+RPROVIDES_${PN}-meta += "gst-plugins-bad-meta"
+
+DEPENDS += "omap5-sgx-ddk-um-linux libdce libdrm wayland"
+
+SRCREV = "f2df6f3b684f39500e22115b160191cef6d7dbaf"
+SRC_URI = "git://git.ti.com/glsdk/gst-plugins-bad0-10.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OECONF += " --disable-pvr"
+
+do_configure_prepend() {
+ git submodule init && git submodule update
+ autopoint -f
+}
+
+FILES_${PN} += "\
+ ${libdir}/*.so \
+ ${libdir}/gstreamer-0.10/*"
+
+FILESPATH .=
":${COREBASE}/meta/recipes-multimedia/gstreamer/gst-plugins-bad-${PV}"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend
deleted file mode 100644
index 74cc9ce..0000000
---
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-bad_0.10.23.bbappend
+++ /dev/null
@@ -1,22 +0,0 @@
-DEPENDS_append_omap-a15 = " omap5-sgx-ddk-um-linux libdce libdrm wayland "
-
-# Make MACHINE specific since we pull different sources per MACHINE
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PR_append = "-arago1"
-
-SRCREV = "f2df6f3b684f39500e22115b160191cef6d7dbaf"
-SRC_URI_omap-a15 =
"git://git.ti.com/glsdk/gst-plugins-bad0-10.git;protocol=git"
-
-S_omap-a15 = "${WORKDIR}/git"
-
-EXTRA_OECONF += " --disable-pvr"
-
-do_configure_prepend_omap-a15() {
- git submodule init && git submodule update
- autopoint -f
-}
-
-FILES_${PN} += "\
- ${libdir}/*.so \
- ${libdir}/gstreamer-0.10/*"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base-mm-accel_0.10.36.bb
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base-mm-accel_0.10.36.bb
new file mode 100644
index 0000000..3afb27d
--- /dev/null
+++
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base-mm-accel_0.10.36.bb
@@ -0,0 +1,40 @@
+# This recipe is not valid when not using accelerated multimedia IP
+python __anonymous() {
+ features = bb.data.getVar("MACHINE_FEATURES", d, 1)
+ if not features:
+ return
+ if "mmip" not in features:
+ raise bb.parse.SkipPackage('gst-plugins-base needs dependencies
derived from "mmip" flag in MACHINE_FEATURES')
+}
+
+# Include the base gst-plugins-base recipe since this recipe is heavily
+# derived from that one.
+require recipes-multimedia/gstreamer/gst-plugins-base_${PV}.bb
+
+DESCRIPTION = "GStreamer base plugins that use multimedia accelerators found \
+ on TI devices"
+
+# Set PROVIDES and RPROVIDES values so that the base recipe names can still
+# be used and PREFERRED_PROVIDER can be used to pick between them.
+PROVIDES += "gst-plugins-base"
+RPROVIDES_${PN} += "gst-plugins-base"
+RPROVIDES_${PN}-dev += "gst-plugins-base-dev"
+RPROVIDES_${PN}-meta += "gst-plugins-base-meta"
+
+SRC_URI = "git://git.ti.com/glsdk/gst-plugins-base0-10.git;protocol=git"
+SRCREV = "21305017f6095ad6e9b1a8f1006ee5be780b21f8"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ git submodule init && git submodule update
+ autopoint -f
+}
+
+EXTRA_OECONF +="--disable-ivorbis "
+
+FILES_${PN} += "\
+ ${libdir}/*.so \
+ ${libdir}/gstreamer-0.10/*"
+
+FILESPATH .=
":${COREBASE}/meta/recipes-multimedia/gstreamer/gst-plugins-base-${PV}"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend
deleted file mode 100644
index 6691ee3..0000000
---
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-base_0.10.36.bbappend
+++ /dev/null
@@ -1,20 +0,0 @@
-PR_append = "-arago1"
-
-# Make MACHINE specific since we pull different sources per MACHINE
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI_omap-a15 =
"git://git.ti.com/glsdk/gst-plugins-base0-10.git;protocol=git"
-SRCREV = "21305017f6095ad6e9b1a8f1006ee5be780b21f8"
-
-S_omap-a15 = "${WORKDIR}/git"
-
-do_configure_prepend_omap-a15() {
- git submodule init && git submodule update
- autopoint -f
-}
-
-EXTRA_OECONF +="--disable-ivorbis "
-
-FILES_${PN} += "\
- ${libdir}/*.so \
- ${libdir}/gstreamer-0.10/*"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good-mm-accel_0.10.31.bb
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good-mm-accel_0.10.31.bb
new file mode 100644
index 0000000..b83531f
--- /dev/null
+++
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good-mm-accel_0.10.31.bb
@@ -0,0 +1,42 @@
+# This recipe is not valid when not using accelerated multimedia IP
+python __anonymous() {
+ features = bb.data.getVar("MACHINE_FEATURES", d, 1)
+ if not features:
+ return
+ if "mmip" not in features:
+ raise bb.parse.SkipPackage('gst-plugins-good needs dependencies
derived from "mmip" flag in MACHINE_FEATURES')
+}
+
+# Include the base gst-plugins-bad recipe since this recipe is heavily
+# derived from that one.
+require recipes-multimedia/gstreamer/gst-plugins-good_${PV}.bb
+
+DESCRIPTION = "GStreamer good plugins that use multimedia accelerators found \
+ on TI devices"
+
+# Set PROVIDES and RPROVIDES values so that the base recipe names can still
+# be used and PREFERRED_PROVIDER can be used to pick between them.
+PROVIDES += "gst-plugins-good"
+RPROVIDES_${PN} += "gst-plugins-good"
+RPROVIDES_${PN}-dev += "gst-plugins-good-dev"
+RPROVIDES_${PN}-meta += "gst-plugins-good-meta"
+
+SRC_URI = "git://git.ti.com/glsdk/gst-plugins-good0-10.git;protocol=git"
+SRCREV = "733289614c50ff4e490d5a37ec4af3a540d1dfb9"
+
+# Fix compile errors with recent kernels
+SRC_URI_append = "
file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch \
+
file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ git submodule init && git submodule update
+ autopoint -f
+}
+
+FILES_${PN} += "\
+ ${libdir}/*.so \
+ ${libdir}/gstreamer-0.10/*"
+
+FILESPATH .=
":${COREBASE}/meta/recipes-multimedia/gstreamer/gst-plugins-good-${PV}"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bbappend
b/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bbappend
deleted file mode 100644
index fdd94e3..0000000
---
a/meta-arago-extras/recipes-multimedia/gstreamer/gst-plugins-good_0.10.31.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-PR_append = "-arago1"
-
-# Make MACHINE specific since we pull different sources per MACHINE
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-SRC_URI_omap-a15 =
"git://git.ti.com/glsdk/gst-plugins-good0-10.git;protocol=git"
-SRCREV = "733289614c50ff4e490d5a37ec4af3a540d1dfb9"
-
-# Fix compile errors with recent kernels
-SRC_URI_append_omap-a15 = "
file://0001-v4l2-fix-build-with-recent-kernels-the-v4l2_buffer-i.patch \
-
file://0001-v4l2_calls-define-V4L2_CID_HCENTER-and-V4L2_CID_VCEN.patch"
-
-S_omap-a15 = "${WORKDIR}/git"
-
-do_configure_prepend_omap-a15() {
- git submodule init && git submodule update
- autopoint -f
-}
-
-FILES_${PN} += "\
- ${libdir}/*.so \
- ${libdir}/gstreamer-0.10/*"
-
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer-mm-accel_0.10.36.bb
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer-mm-accel_0.10.36.bb
new file mode 100644
index 0000000..9dd929f
--- /dev/null
+++
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer-mm-accel_0.10.36.bb
@@ -0,0 +1,33 @@
+# This recipe is not valid when not using accelerated multimedia IP
+python __anonymous() {
+ features = bb.data.getVar("MACHINE_FEATURES", d, 1)
+ if not features:
+ return
+ if "mmip" not in features:
+ raise bb.parse.SkipPackage('gstreamer needs dependencies derived from
"mmip" flag in MACHINE_FEATURES')
+}
+
+# Include the base gst-plugins-bad recipe since this recipe is heavily
+# derived from that one.
+require recipes-multimedia/gstreamer/gstreamer_${PV}.bb
+
+DESCRIPTION = "GStreamer that use multimedia accelerators found on TI devices"
+
+# Set PROVIDES and RPROVIDES values so that the base recipe names can still
+# be used and PREFERRED_PROVIDER can be used to pick between them.
+PROVIDES += "gstreamer"
+RPROVIDES_${PN} += "gstreamer"
+RPROVIDES_${PN}-dev += "gstreamer-dev"
+RPROVIDES_${PN}-meta += "gstreamer-meta"
+
+SRC_URI = "git://git.ti.com/glsdk/gstreamer0-10.git;protocol=git"
+SRCREV = "e505f4a2ceee3b0328eb2efddb9ec1281d3fd60a"
+
+S = "${WORKDIR}/git"
+
+do_configure_prepend() {
+ git submodule init && git submodule update
+ autopoint -f
+}
+
+FILESPATH .= ":${COREBASE}/meta/recipes-multimedia/gstreamer/gstreamer-${PV}"
diff --git
a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer_0.10.36.bbappend
b/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer_0.10.36.bbappend
deleted file mode 100644
index 3c97b63..0000000
--- a/meta-arago-extras/recipes-multimedia/gstreamer/gstreamer_0.10.36.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-SRC_URI_omap-a15 = "git://git.ti.com/glsdk/gstreamer0-10.git;protocol=git"
-SRCREV = "e505f4a2ceee3b0328eb2efddb9ec1281d3fd60a"
-
-# Make MACHINE specific since we pull different sources per MACHINE
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PR_append = "-arago1"
-
-S_omap-a15 = "${WORKDIR}/git"
-
-do_configure_prepend_omap-a15() {
- git submodule init && git submodule update
- autopoint -f
-}
--
1.7.9.5
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago