Skip to contentSkip to conversation

add Gstreamer 1.X for gst-omx support

PATCH Superseded Spenser Gilliland 4 participants 19 messages Jun 20, 2013 – Jun 21, 2013

v11 of 12 Superseded Latest is v12 →

lore
Share & tools
lore
#0 lore raw

v11 cover add Gstreamer 1.X for gst-omx support

This patch adds gst-omx support to buildroot. Thus, making it possible to use gstreamer applications which utilize hardware acceleration on OpenMAX supported systems.

In addition, the patches include the libvpx library and enablement in gstreamer. This is meant to give an example of how to add support in the future.

To test this patch series on the Raspberry Pi, select the eglgles plugin in gst1-plugins-bad and select gst-omx. To decode a 720p h264 encoded .mov file, the following gst-launch pipeline can be used.

Sample file: http://download.blender.org/peach/trailer/trailer_720p.mov

   # gst-launch-1.0 filesrc location=/path/to/file \
   #   ! qtdemux ! h264parse ! omx264dec ! eglglessink

v10 -> v11:
- Add descriptions for each plugin from gst-inspect xml files.
- Put plugins in "./configure --help" order
- Add new options to gstreamer1
- Include rudimentry gst-libav (needs additional work)

v9 -> v10:
- Bump to gstreamer version 1.1.1 which due to poor packaging required a patch to reinclude some header files.
- Add licensing information.
- Cleanup headers and whitespace changes.

v8 -> v9:
- Fix webkit build failures due to libglib2 bump.
- bump gdk-pixbuf to 2.28.1
- bump libgtk2 to 2.24.18
- bump libsoup to 2.43.1
- bump webkit to 1.9.6

v7 -> v8:
- Incoporate threads patch and rebase on top of master.

v6 -> v7:
- Additional verification complete with both RPi and Bellagio.
- Moved additional includes to the gst-omx and gst-plugins bad packages for openmax and eglgles.
- A patch was added that ensures that the config files point to the correct location.

v5 -> v6:
- Combined libglib patches to allow git-bisect
- added libopenmax virtual package for gst-omx (and future omx packages)

v4 -> v5:
- added gst-omx as a new package
- combined glib bump to 2.36.1 with gstreamer 1.x and gst-omx (libglib 2.32.1 is required for gstreamer 1.X)

v3 -> v4:
- uses new style if/endif syntax and removes depends properties for config elements in gstreamer1

v2 -> v3:
- fixes issues found while building with all/none plugins enabled
- change naming from gst-plugins-<blah>1 to gst1-plugins-<blah>
- options which require currently unpackged libraries are disabled

v1 -> v2:
- completed patch by adding good/bad/ugly plguins.

Spenser Gilliland (11):
gstreamer1: Add gstreamer version 1.1.1 package
gstreamer: update for gstreamer1
gst1-plugins-base: add gstreamer1 base plugins
gst1-plugins-good: add gstreamer1 good plugins
gst1-plugins-bad: add gstreamer1 bad plugins
gst1-plugins-ugly: add gstreamer1 ugly plugins
gst1-plugins-good: add libvpx support
gst-omx: add gst-omx package
multimedia: reorganize for gst1
libav: add new package
gst-libav: add libav plugin for gtreamer 1.x

 package/multimedia/Config.in                       |   21 +-
 package/multimedia/gst-libav/Config.in             |   16 +
 package/multimedia/gst-libav/gst-libav.mk          |   18 +
 package/multimedia/gst-omx/Config.in               |   11 +
 .../multimedia/gst-omx/gst-omx-config-files.patch  |  127 ++++
 package/multimedia/gst-omx/gst-omx.mk              |   37 ++
 package/multimedia/gst1-plugins-bad/Config.in      |  457 +++++++++++++
 .../gst1-plugins-bad-dist-opencv-headers.patch     |  214 ++++++
 .../gst1-plugins-bad-use-gettext-0.18.patch        |   17 +
 .../gst1-plugins-bad/gst1-plugins-bad.mk           |  691 ++++++++++++++++++++
 package/multimedia/gst1-plugins-base/Config.in     |  153 +++++
 .../gst1-plugins-base/gst1-plugins-base.mk         |  206 ++++++
 package/multimedia/gst1-plugins-good/Config.in     |  330 ++++++++++
 .../gst1-plugins-good/gst1-plugins-good.mk         |  411 ++++++++++++
 package/multimedia/gst1-plugins-ugly/Config.in     |   69 ++
 .../gst1-plugins-ugly/gst1-plugins-ugly.mk         |  104 +++
 package/multimedia/gstreamer/Config.in             |    3 +-
 package/multimedia/gstreamer1/Config.in            |   55 ++
 package/multimedia/gstreamer1/gstreamer1.mk        |   40 ++
 package/multimedia/libav/Config.in                 |  158 +++++
 package/multimedia/libav/libav.mk                  |  200 ++++++
 21 files changed, 3333 insertions(+), 5 deletions(-)
 create mode 100644 package/multimedia/gst-libav/Config.in
 create mode 100644 package/multimedia/gst-libav/gst-libav.mk
 create mode 100644 package/multimedia/gst-omx/Config.in
 create mode 100644 package/multimedia/gst-omx/gst-omx-config-files.patch
 create mode 100644 package/multimedia/gst-omx/gst-omx.mk
 create mode 100644 package/multimedia/gst1-plugins-bad/Config.in
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad-dist-opencv-headers.patch
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk
 create mode 100644 package/multimedia/gst1-plugins-base/Config.in
 create mode 100644 package/multimedia/gst1-plugins-base/gst1-plugins-base.mk
 create mode 100644 package/multimedia/gst1-plugins-good/Config.in
 create mode 100644 package/multimedia/gst1-plugins-good/gst1-plugins-good.mk
 create mode 100644 package/multimedia/gst1-plugins-ugly/Config.in
 create mode 100644 package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk
 create mode 100644 package/multimedia/gstreamer1/Config.in
 create mode 100644 package/multimedia/gstreamer1/gstreamer1.mk
 create mode 100644 package/multimedia/libav/Config.in
 create mode 100644 package/multimedia/libav/libav.mk
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH v11 1/11 gstreamer1: Add gstreamer version 1.1.1 package

This patch adds the gstreamer version 1.x series to buildroot.

---
 package/multimedia/Config.in                |    1 +
 package/multimedia/gstreamer1/Config.in     |   55 +++++++++++++++++++++++++++
 package/multimedia/gstreamer1/gstreamer1.mk |   40 +++++++++++++++++++
 3 files changed, 96 insertions(+)
 create mode 100644 package/multimedia/gstreamer1/Config.in
 create mode 100644 package/multimedia/gstreamer1/gstreamer1.mk
package/multimedia/Config.in +1 -0
index 77c0a22..1427a27 100644
@@ -6,6 +6,7 @@ source "package/multimedia/faad2/Config.in"
 source "package/multimedia/flac/Config.in"
 source "package/multimedia/ffmpeg/Config.in"
 source "package/multimedia/gstreamer/Config.in"
+source "package/multimedia/gstreamer1/Config.in"
 source "package/multimedia/gst-ffmpeg/Config.in"
 source "package/multimedia/gst-dsp/Config.in"
 source "package/multimedia/gst-fsl-plugins/Config.in"
package/multimedia/gstreamer1/Config.in new file +55 -0

55 lines not on this page · raw message

package/multimedia/gstreamer1/gstreamer1.mk new file +40 -0
new file mode 100644
index 0000000..af464e0
@@ -0,0 +1,40 @@
+#############################################################
+#
+# gstreamer1
+#
+#############################################################
+
+GSTREAMER1_VERSION = 1.1.1
+GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz
+GSTREAMER1_SITE = http://gstreamer.freedesktop.org/src/gstreamer
+GSTREAMER1_INSTALL_STAGING = YES
+GSTREAMER1_LICENSE_FILES = COPYING
+GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+
+
+# Checking if unaligned memory access works correctly cannot be done when cross
+# compiling. For the following architectures there is no information available
+# in the configure script.
+ifeq ($(BR2_avr32),y)
+GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no
+endif
+ifeq ($(BR2_aarch64),y)
+GSTREAMER1_CONF_ENV = as_cv_unaligned_access=yes
+endif
+
+GSTREAMER1_CONF_OPT = \
+	--disable-examples \
+	--disable-tests \
+	--disable-failing-tests \
+	--disable-debug \
+	--disable-valgrind \
+	--disable-benchmarks \
+	--disable-check \
+	$(if $(BR2_PACKAGE_GSTREAMER1_TRACE),,--disable-trace) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_PARSE),,--disable-parse) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_GST_DEBUG),,--disable-gst-debug) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY),,--disable-registry) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),,--disable-tools)
+
+GSTREAMER1_DEPENDENCIES = libglib2 host-pkgconf host-bison host-flex
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.9.5
#2 lore raw

PATCH v11 1/11 gstreamer1: Add gstreamer version 1.1.1 package

Quoted 29 lines · Spenser Gilliland

This patch adds the gstreamer version 1.x series to buildroot.

---
  package/multimedia/Config.in                |    1 +
  package/multimedia/gstreamer1/Config.in     |   55 +++++++++++++++++++++++++++
  package/multimedia/gstreamer1/gstreamer1.mk |   40 +++++++++++++++++++
  3 files changed, 96 insertions(+)

create mode 100644 package/multimedia/gstreamer1/Config.in create mode 100644 package/multimedia/gstreamer1/gstreamer1.mk

package/multimedia/Config.in +1 -0
index 77c0a22..1427a27 100644
@@ -6,6 +6,7 @@ source "package/multimedia/faad2/Config.in"
  source "package/multimedia/flac/Config.in"
  source "package/multimedia/ffmpeg/Config.in"
  source "package/multimedia/gstreamer/Config.in"
+source "package/multimedia/gstreamer1/Config.in"
  source "package/multimedia/gst-ffmpeg/Config.in"
  source "package/multimedia/gst-dsp/Config.in"
  source "package/multimedia/gst-fsl-plugins/Config.in"
package/multimedia/gstreamer1/Config.in new file +0 -0
new file mode 100644
index 0000000..2bd911a

package/multimedia/gstreamer1/Config.in line 8

Quoted 8 lines
package/multimedia/gstreamer1/Config.in new file +8 -0
@@ -0,0 +1,55 @@
+config BR2_PACKAGE_GSTREAMER1
+	bool "gstreamer1"
+	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_LIBGLIB2
+	help
+	  GStreamer is an open source multimedia framework. This 1.x version of
+	  Gstreamer is incompatible with Gstreamer 0.10.x.

GStreamer or Gstreamer?

package/multimedia/gstreamer1/Config.in line 18

Quoted 10 lines
package/multimedia/gstreamer1/Config.in new file +10 -0
+
+	  http://gstreamer.freedesktop.org/
+
+if BR2_PACKAGE_GSTREAMER1
+
+config BR2_PACKAGE_GSTREAMER1_PARSE
+	bool "enable command-line parser"
+	default y
+	help
+	  Enable command line parser for gstreamer. This may incrase the CPu

CPU

Quoted 43 lines
package/multimedia/gstreamer1/Config.in new file +37 -0
+	  overhead by a small amount.
+
+config BR2_PACKAGE_GSTREAMER1_TRACE
+	bool "enable tracing subsystem"
+	default y
+	help
+	  Enable the tracing subsystem within gstreamer.  This may increase CPU
+	  overhead by a small amount.
+
+config BR2_PACKAGE_GSTREAMER1_GST_DEBUG
+	bool "enable gst-debug trace support"
+	default y
+	help
+	  Enable support for the gst-debug tracing functionality in gstreamer.
+	  This has limited CPU overhead, but does increase the rootfs size
+	  somewhat.
+
+config BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY
+	bool "enable plugin registry"
+	default y
+	help
+	  Enable support for the GStreamer plugin registry. This may increase
+	  the launch-time for a GStreamer application.
+
+config BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS
+	bool "install gst-launch & gst-inspect"
+	default y
+	help
+	  Install the gst-launch and gst-inspect tools. This will take up
+	  additional space on the target.
+
+endif
+
+comment "gstreamer1 requires a toolchain with WCHAR and threads support"
+	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+
+
package/multimedia/gstreamer1/gstreamer1.mk new file +0 -0
new file mode 100644
index 0000000..af464e0

package/multimedia/gstreamer1/gstreamer1.mk line 1

Quoted 1 line
package/multimedia/gstreamer1/gstreamer1.mk new file +1 -0
@@ -0,0 +1,40 @@
+#############################################################

We're trying to stick to 80 #s now. Until we remove them altogether :-)

Otherwise looks good, but of course I didn't test it.

Regards,
Arnout

Quoted 40 lines
package/multimedia/gstreamer1/gstreamer1.mk new file +39 -0
+#
+# gstreamer1
+#
+#############################################################
+
+GSTREAMER1_VERSION = 1.1.1
+GSTREAMER1_SOURCE = gstreamer-$(GSTREAMER1_VERSION).tar.xz
+GSTREAMER1_SITE = http://gstreamer.freedesktop.org/src/gstreamer
+GSTREAMER1_INSTALL_STAGING = YES
+GSTREAMER1_LICENSE_FILES = COPYING
+GSTREAMER1_LICENSE = LGPLv2+ LGPLv2.1+
+
+# Checking if unaligned memory access works correctly cannot be done when cross
+# compiling. For the following architectures there is no information available
+# in the configure script.
+ifeq ($(BR2_avr32),y)
+GSTREAMER1_CONF_ENV = as_cv_unaligned_access=no
+endif
+ifeq ($(BR2_aarch64),y)
+GSTREAMER1_CONF_ENV = as_cv_unaligned_access=yes
+endif
+
+GSTREAMER1_CONF_OPT = \
+	--disable-examples \
+	--disable-tests \
+	--disable-failing-tests \
+	--disable-debug \
+	--disable-valgrind \
+	--disable-benchmarks \
+	--disable-check \
+	$(if $(BR2_PACKAGE_GSTREAMER1_TRACE),,--disable-trace) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_PARSE),,--disable-parse) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_GST_DEBUG),,--disable-gst-debug) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_PLUGIN_REGISTRY),,--disable-registry) \
+	$(if $(BR2_PACKAGE_GSTREAMER1_INSTALL_TOOLS),,--disable-tools)
+
+GSTREAMER1_DEPENDENCIES = libglib2 host-pkgconf host-bison host-flex
+
+$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH v11 1/11 gstreamer1: Add gstreamer version 1.1.1 package

In reply to Spenser Gilliland
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Spenser" == Spenser Gilliland <[email protected]> writes:

Spenser> This patch adds the gstreamer version 1.x series to buildroot. Spenser> Signed-off-by: Spenser Gilliland <[email protected]> Spenser> ---

 Spenser>  package/multimedia/Config.in                |    1 +
 Spenser>  package/multimedia/gstreamer1/Config.in     |   55 +++++++++++++++++++++++++++
 Spenser>  package/multimedia/gstreamer1/gstreamer1.mk |   40 +++++++++++++++++++

Spenser> 3 files changed, 96 insertions(+)

Spenser> +++ b/package/multimedia/gstreamer1/gstreamer1.mk Spenser> @@ -0,0 +1,40 @@
Spenser> +############################################################# Spenser> +#
Spenser> +# gstreamer1
Spenser> +#
Spenser> +############################################################# Spenser> +
Spenser> +GSTREAMER1_VERSION = 1.1.1

Maybe I missed the discussion about this earlier, but why are you packaging the 1.1.x development version instead of the stable 1.0.x? I would imagine that most people (if they are not actively working on gstreamer atleast) would prefer the stable version?

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH v11 2/11 gstreamer: update for gstreamer1

In reply to Spenser Gilliland
---
 package/multimedia/gstreamer/Config.in |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/multimedia/gstreamer/Config.in +2 -1
index 4b4d80f..44c96e4 100644
@@ -4,7 +4,8 @@ config BR2_PACKAGE_GSTREAMER
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	select BR2_PACKAGE_LIBGLIB2
 	help
-	  GStreamer is an open source multimedia framework.
+	  GStreamer is an open source multimedia framework. This 0.10.x version of
+	  Gstreamer is incompatible with Gstreamer 1.X. 
 
 	  http://gstreamer.freedesktop.org/
 
Signature · 1 line
1.7.9.5
#5 lore raw

PATCH v11 2/11 gstreamer: update for gstreamer1

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Spenser" == Spenser Gilliland <[email protected]> writes:

Spenser> Signed-off-by: Spenser Gilliland <[email protected]>

Spenser> ---

 Spenser>  package/multimedia/gstreamer/Config.in |    3 ++-

Spenser> 1 file changed, 2 insertions(+), 1 deletion(-)

Spenser> diff --git a/package/multimedia/gstreamer/Config.in b/package/multimedia/gstreamer/Config.in Spenser> index 4b4d80f..44c96e4 100644
Spenser> --- a/package/multimedia/gstreamer/Config.in
Spenser> +++ b/package/multimedia/gstreamer/Config.in
Spenser> @@ -4,7 +4,8 @@ config BR2_PACKAGE_GSTREAMER

 Spenser>  	depends on BR2_TOOLCHAIN_HAS_THREADS
 Spenser>  	select BR2_PACKAGE_LIBGLIB2
 Spenser>  	help
 Spenser> -	  GStreamer is an open source multimedia framework.
 Spenser> +	  GStreamer is an open source multimedia framework. This 0.10.x version of
 Spenser> +	  Gstreamer is incompatible with Gstreamer 1.X. 

Line too long, trailing space and GStreamer/Gstreamer mismatch. All fixed and committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH v11 3/11 gst1-plugins-base: add gstreamer1 base plugins

In reply to Spenser Gilliland

Adds gstreamer 1.X base plugins.

---
 package/multimedia/Config.in                       |    1 +
 package/multimedia/gst1-plugins-base/Config.in     |  153 +++++++++++++++
 .../gst1-plugins-base/gst1-plugins-base.mk         |  206 ++++++++++++++++++++
 3 files changed, 360 insertions(+)
 create mode 100644 package/multimedia/gst1-plugins-base/Config.in
 create mode 100644 package/multimedia/gst1-plugins-base/gst1-plugins-base.mk
package/multimedia/Config.in +1 -0
index 1427a27..6e21fc6 100644
@@ -12,6 +12,7 @@ source "package/multimedia/gst-dsp/Config.in"
 source "package/multimedia/gst-fsl-plugins/Config.in"
 source "package/multimedia/gst-omapfb/Config.in"
 source "package/multimedia/gst-plugins-base/Config.in"
+source "package/multimedia/gst1-plugins-base/Config.in"
 source "package/multimedia/gst-plugins-good/Config.in"
 source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
package/multimedia/gst1-plugins-base/Config.in new file +153 -0

153 lines not on this page · raw message

package/multimedia/gst1-plugins-base/gst1-plugins-base.mk new file +206 -0

206 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#7 lore raw

PATCH v11 3/11 gst1-plugins-base: add gstreamer1 base plugins

Quoted 1 line · Spenser Gilliland

Adds gstreamer 1.X base plugins.

This pleonastic comment is redundant :-)

Quoted 2 lines

(untested, as usual)

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#8 lore raw

PATCH v11 4/11 gst1-plugins-good: add gstreamer1 good plugins

In reply to Spenser Gilliland

Adds gstreamer 1.X good plugins.

---
 package/multimedia/Config.in                       |    1 +
 package/multimedia/gst1-plugins-good/Config.in     |  326 ++++++++++++++++
 .../gst1-plugins-good/gst1-plugins-good.mk         |  404 ++++++++++++++++++++
 3 files changed, 731 insertions(+)
 create mode 100644 package/multimedia/gst1-plugins-good/Config.in
 create mode 100644 package/multimedia/gst1-plugins-good/gst1-plugins-good.mk
package/multimedia/Config.in +1 -0
index 6e21fc6..935fde8 100644
@@ -14,6 +14,7 @@ source "package/multimedia/gst-omapfb/Config.in"
 source "package/multimedia/gst-plugins-base/Config.in"
 source "package/multimedia/gst1-plugins-base/Config.in"
 source "package/multimedia/gst-plugins-good/Config.in"
+source "package/multimedia/gst1-plugins-good/Config.in"
 source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst-plugin-x170/Config.in"
package/multimedia/gst1-plugins-good/Config.in new file +326 -0

326 lines not on this page · raw message

package/multimedia/gst1-plugins-good/gst1-plugins-good.mk new file +404 -0

404 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#9 lore raw

PATCH v11 5/11 gst1-plugins-bad: add gstreamer1 bad plugins

In reply to Spenser Gilliland

Adds gstreamer 1.X bad plugins

---
 package/multimedia/Config.in                       |    1 +
 package/multimedia/gst1-plugins-bad/Config.in      |  457 +++++++++++++
 .../gst1-plugins-bad-dist-opencv-headers.patch     |  214 ++++++
 .../gst1-plugins-bad-use-gettext-0.18.patch        |   17 +
 .../gst1-plugins-bad/gst1-plugins-bad.mk           |  691 ++++++++++++++++++++
 5 files changed, 1380 insertions(+)
 create mode 100644 package/multimedia/gst1-plugins-bad/Config.in
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad-dist-opencv-headers.patch
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch
 create mode 100644 package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk
package/multimedia/Config.in +1 -0
index 935fde8..318dd74 100644
@@ -16,6 +16,7 @@ source "package/multimedia/gst1-plugins-base/Config.in"
 source "package/multimedia/gst-plugins-good/Config.in"
 source "package/multimedia/gst1-plugins-good/Config.in"
 source "package/multimedia/gst-plugins-bad/Config.in"
+source "package/multimedia/gst1-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst-plugin-x170/Config.in"
 source "package/multimedia/lame/Config.in"
package/multimedia/gst1-plugins-bad/Config.in new file +457 -0

457 lines not on this page · raw message

package/multimedia/gst1-plugins-bad/gst1-plugins-bad-dist-opencv-headers.patch new file +214 -0

214 lines not on this page · raw message

package/multimedia/gst1-plugins-bad/gst1-plugins-bad-use-gettext-0.18.patch new file +17 -0
new file mode 100644
index 0000000..ebf4567
@@ -0,0 +1,17 @@
+Use newer version of gettext to match current buildroot gettext.
+
+Signed-off-by: Spenser Gilliland <[email protected]>
+----
+Index: gst1-plugins-bad-1.1.1/po/Makefile.in.in
+===================================================================
+--- gst1-plugins-bad-1.1.1.orig/po/Makefile.in.in
++++ gst1-plugins-bad-1.1.1/po/Makefile.in.in
+@@ -9,7 +9,7 @@
+ # General Public License and is *not* in the public domain.
+ #
+ # Origin: gettext-0.17
+-GETTEXT_MACRO_VERSION = 0.17
++GETTEXT_MACRO_VERSION = 0.18
+ 
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
package/multimedia/gst1-plugins-bad/gst1-plugins-bad.mk new file +691 -0

691 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#10 lore raw

PATCH v11 6/11 gst1-plugins-ugly: add gstreamer1 ugly plugins

In reply to Spenser Gilliland

Adds gstreamer 1.X ugly plugins

---
 package/multimedia/Config.in                       |    3 +-
 package/multimedia/gst1-plugins-ugly/Config.in     |   69 +++++++++++++
 .../gst1-plugins-ugly/gst1-plugins-ugly.mk         |  104 ++++++++++++++++++++
 3 files changed, 175 insertions(+), 1 deletion(-)
 create mode 100644 package/multimedia/gst1-plugins-ugly/Config.in
 create mode 100644 package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk
package/multimedia/Config.in +2 -1
index 318dd74..30a20cb 100644
@@ -18,7 +18,8 @@ source "package/multimedia/gst1-plugins-good/Config.in"
 source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst1-plugins-bad/Config.in"
 source "package/multimedia/gst-plugins-ugly/Config.in"
-source "package/multimedia/gst-plugin-x170/Config.in"
+source "package/multimedia/gst1-plugins-ugly/Config.in"
+source "package/multimedia/gst-plugin-x170/Config.in
 source "package/multimedia/lame/Config.in"
 source "package/multimedia/libvpx/Config.in"
 source "package/multimedia/madplay/Config.in"
package/multimedia/gst1-plugins-ugly/Config.in new file +69 -0

69 lines not on this page · raw message

package/multimedia/gst1-plugins-ugly/gst1-plugins-ugly.mk new file +104 -0

104 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#11 lore raw

PATCH v11 7/11 gst1-plugins-good: add libvpx support

In reply to Spenser Gilliland

adds libvpx support to gst1-plugins-good

---
 package/multimedia/gst1-plugins-good/Config.in     |    4 ++++
 .../gst1-plugins-good/gst1-plugins-good.mk         |    7 +++++++
 2 files changed, 11 insertions(+)
package/multimedia/gst1-plugins-good/Config.in +4 -0
index 9b7eba0..e579539 100644
@@ -317,6 +317,10 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX
 	help
 	  VP8 plugin
 
+config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX
+	bool "vpx (webm)"
+	select BR2_PACKAGE_LIBVPX
+
 config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK
 	bool "wavpack (*.wv audio)"
 	select BR2_PACKAGE_WAVPACK
package/multimedia/gst1-plugins-good/gst1-plugins-good.mk +7 -0
index 45e922e..d3b478f 100644
@@ -380,6 +380,13 @@ else
 GST1_PLUGINS_GOOD_CONF_OPT += --disable-speex
 endif
 
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX),y)
+GST1_PLUGINS_GOOD_CONF_OPT += --enable-vpx
+GST1_PLUGINS_GOOD_DEPENDENCIES += libvpx
+else
+GST1_PLUGINS_GOOD_CONF_OPT += --disable-vpx
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_WAVPACK),y)
 GST1_PLUGINS_GOOD_CONF_OPT += --enable-wavpack
 GST1_PLUGINS_GOOD_DEPENDENCIES += wavpack
Signature · 1 line
1.7.9.5
#12 lore raw

PATCH v11 8/11 gst-omx: add gst-omx package

In reply to Spenser Gilliland

gst-omx enables OpenMAX based accelerated video decode.

---
 package/multimedia/Config.in                       |    1 +
 package/multimedia/gst-omx/Config.in               |   11 ++
 .../multimedia/gst-omx/gst-omx-config-files.patch  |  127 ++++++++++++++++++++
 package/multimedia/gst-omx/gst-omx.mk              |   37 ++++++
 4 files changed, 176 insertions(+)
 create mode 100644 package/multimedia/gst-omx/Config.in
 create mode 100644 package/multimedia/gst-omx/gst-omx-config-files.patch
 create mode 100644 package/multimedia/gst-omx/gst-omx.mk
package/multimedia/Config.in +1 -0
index 30a20cb..292d029 100644
@@ -11,6 +11,7 @@ source "package/multimedia/gst-ffmpeg/Config.in"
 source "package/multimedia/gst-dsp/Config.in"
 source "package/multimedia/gst-fsl-plugins/Config.in"
 source "package/multimedia/gst-omapfb/Config.in"
+source "package/multimedia/gst-omx/Config.in"
 source "package/multimedia/gst-plugins-base/Config.in"
 source "package/multimedia/gst1-plugins-base/Config.in"
 source "package/multimedia/gst-plugins-good/Config.in"
package/multimedia/gst-omx/Config.in new file +11 -0
new file mode 100644
index 0000000..b6ea116
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_GST_OMX
+	bool "gst-omx"
+	depends on BR2_PACKAGE_GSTREAMER1 && BR2_PACKAGE_HAS_OPENMAX
+	select BR2_PACKAGE_GST1_PLUGINS_BASE
+	help
+	  GStreamer plug-in to use OpenMAX API.
+
+	  http://cgit.freedesktop.org/gstreamer/gst-omx
+
+comment "gst-omx requires a OpenMAX implementation"
+	depends on BR2_PACKAGE_GSTREAMER1 && !BR2_PACKAGE_HAS_OPENMAX
package/multimedia/gst-omx/gst-omx-config-files.patch new file +127 -0

127 lines not on this page · raw message

package/multimedia/gst-omx/gst-omx.mk new file +37 -0
new file mode 100644
index 0000000..00abecb
@@ -0,0 +1,37 @@
+#############################################################
+#
+# gst-omx
+#
+#############################################################
+
+GST_OMX_VERSION = 1.0.0
+GST_OMX_SOURCE = gst-omx-$(GST_OMX_VERSION).tar.xz
+GST_OMX_SITE = http://gstreamer.freedesktop.org/src/gst-omx/
+
+GST_OMX_LICENSE = LGPLv2.1
+GST_OMX_LICENSE_FILE = COPYING
+
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+GST_OMX_CONF_OPT = \
+	--with-omx-target=rpi
+GST_OMX_CONF_ENV = \
+	CFLAGS="$(TARGET_CFLAGS) \
+		-I$(STAGING_DIR)/usr/include/IL \
+		-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \
+		-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux"
+endif
+
+ifeq ($(BR2_PACKAGE_BELLAGIO),y)
+GST_OMX_CONF_OPT = \
+	--with-omx-target=bellagio
+GST_OMX_CONF_ENV = \
+	CFLAGS="$(TARGET_CFLAGS) \
+		-DOMX_VERSION_MAJOR=1 \
+		-DOMX_VERSION_MINOR=1 \
+		-DOMX_VERSION_REVISION=2 \
+		-DOMX_VERSION_STEP=0"
+endif
+
+GST_OMX_DEPENDENCIES = gstreamer1 gst1-plugins-base libopenmax
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.9.5
#13 lore raw

PATCH v11 9/11 multimedia: reorganize for gst1

In reply to Spenser Gilliland
---
 package/multimedia/Config.in |   19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
package/multimedia/Config.in +12 -7
index 292d029..925051e 100644
@@ -5,22 +5,27 @@ source "package/multimedia/bellagio/Config.in"
 source "package/multimedia/faad2/Config.in"
 source "package/multimedia/flac/Config.in"
 source "package/multimedia/ffmpeg/Config.in"
+
+# Gstreamer 0.10.x & Plugins
 source "package/multimedia/gstreamer/Config.in"
-source "package/multimedia/gstreamer1/Config.in"
+source "package/multimedia/gst-plugins-base/Config.in"
+source "package/multimedia/gst-plugins-good/Config.in"
+source "package/multimedia/gst-plugins-bad/Config.in"
+source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst-ffmpeg/Config.in"
 source "package/multimedia/gst-dsp/Config.in"
 source "package/multimedia/gst-fsl-plugins/Config.in"
 source "package/multimedia/gst-omapfb/Config.in"
-source "package/multimedia/gst-omx/Config.in"
-source "package/multimedia/gst-plugins-base/Config.in"
+source "package/multimedia/gst-plugin-x170/Config.in"
+
+# Gstreamer 1.x & Plugins
+source "package/multimedia/gstreamer1/Config.in"
 source "package/multimedia/gst1-plugins-base/Config.in"
-source "package/multimedia/gst-plugins-good/Config.in"
 source "package/multimedia/gst1-plugins-good/Config.in"
-source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst1-plugins-bad/Config.in"
-source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst1-plugins-ugly/Config.in"
-source "package/multimedia/gst-plugin-x170/Config.in
+source "package/multimedia/gst-omx/Config.in"
+
 source "package/multimedia/lame/Config.in"
 source "package/multimedia/libvpx/Config.in"
 source "package/multimedia/madplay/Config.in"
Signature · 1 line
1.7.9.5
#14 lore raw

PATCH v11 9/11 multimedia: reorganize for gst1

Dear Spenser Gilliland,

Quoted 35 lines · Spenser Gilliland
---
 package/multimedia/Config.in |   19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
package/multimedia/Config.in +10 -4
index 292d029..925051e 100644
@@ -5,22 +5,27 @@ source "package/multimedia/bellagio/Config.in"
 source "package/multimedia/faad2/Config.in"
 source "package/multimedia/flac/Config.in"
 source "package/multimedia/ffmpeg/Config.in"
+
+# Gstreamer 0.10.x & Plugins
 source "package/multimedia/gstreamer/Config.in"
-source "package/multimedia/gstreamer1/Config.in"
+source "package/multimedia/gst-plugins-base/Config.in"
+source "package/multimedia/gst-plugins-good/Config.in"
+source "package/multimedia/gst-plugins-bad/Config.in"
+source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst-ffmpeg/Config.in"
 source "package/multimedia/gst-dsp/Config.in"
 source "package/multimedia/gst-fsl-plugins/Config.in"
 source "package/multimedia/gst-omapfb/Config.in"
-source "package/multimedia/gst-omx/Config.in"
-source "package/multimedia/gst-plugins-base/Config.in"
+source "package/multimedia/gst-plugin-x170/Config.in"
+
+# Gstreamer 1.x & Plugins
+source "package/multimedia/gstreamer1/Config.in"
 source "package/multimedia/gst1-plugins-base/Config.in"
-source "package/multimedia/gst-plugins-good/Config.in"
 source "package/multimedia/gst1-plugins-good/Config.in"

package/multimedia/Config.in source "package/multimedia/bellagio/Config.in" · line 31

Quoted 10 lines
package/multimedia/Config.in +2 -3
-source "package/multimedia/gst-plugins-bad/Config.in"
 source "package/multimedia/gst1-plugins-bad/Config.in"
-source "package/multimedia/gst-plugins-ugly/Config.in"
 source "package/multimedia/gst1-plugins-ugly/Config.in"
-source "package/multimedia/gst-plugin-x170/Config.in
+source "package/multimedia/gst-omx/Config.in"
+
 source "package/multimedia/lame/Config.in"
 source "package/multimedia/libvpx/Config.in"
 source "package/multimedia/madplay/Config.in"

I think this organization is good, but I wonder why it's not done when the packages are introduced. I.e, the patch adding gstreamer1 should do:

+# GStreamer 1.x & Plugins
+source "package/multimedia/gstreamer1/Config.in"

Then, the patch adding the base plugins should do:

+source "package/multimedia/gst1-plugins-base/Config.in"

But, ok, I'm nitpicking here :)

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#15 lore raw

PATCH v11 9/11 multimedia: reorganize for gst1

Thomas

Quoted 7 lines

I think this organization is good, but I wonder why it's not done when the packages are introduced. I.e, the patch adding gstreamer1 should do:

(quoted diff) +2 -0
+# GStreamer 1.x & Plugins
+source "package/multimedia/gstreamer1/Config.in"
Quoted 5 lines

Then, the patch adding the base plugins should do:

+source "package/multimedia/gst1-plugins-base/Config.in"

But, ok, I'm nitpicking here :)

I agree that's the better way to do it but it would have meant re working every single commit. It was far easier just to throw in the reorganization as a separate patch.

Regards,

Spenser

--
Spenser Gilliland
Computer Engineer
Doctoral Candidate

#16 lore raw

PATCH v11 9/11 multimedia: reorganize for gst1

Dear Spenser Gilliland,

Quoted 3 lines · Spenser Gilliland

I agree that's the better way to do it but it would have meant re working every single commit. It was far easier just to throw in the reorganization as a separate patch.

It is far easier, but not really clean. That said, let's wait to see what Peter says, if he's fine with the options being re-organized through a followup patch, I'm fine with that.

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#17 lore raw

PATCH v11 10/11 libav: add new package

In reply to Spenser Gilliland
---
 package/multimedia/Config.in       |    1 +
 package/multimedia/libav/Config.in |  158 ++++++++++++++++++++++++++++
 package/multimedia/libav/libav.mk  |  200 ++++++++++++++++++++++++++++++++++++
 3 files changed, 359 insertions(+)
 create mode 100644 package/multimedia/libav/Config.in
 create mode 100644 package/multimedia/libav/libav.mk
package/multimedia/Config.in +1 -0
index 925051e..4d5219d 100644
@@ -27,6 +27,7 @@ source "package/multimedia/gst1-plugins-ugly/Config.in"
 source "package/multimedia/gst-omx/Config.in"
 
 source "package/multimedia/lame/Config.in"
+source "package/multimedia/libav/Config.in"
 source "package/multimedia/libvpx/Config.in"
 source "package/multimedia/madplay/Config.in"
 source "package/multimedia/mpd/Config.in"
package/multimedia/libav/Config.in new file +158 -0

158 lines not on this page · raw message

package/multimedia/libav/libav.mk new file +200 -0

200 lines not on this page · raw message

Signature · 1 line
1.7.9.5
#18 lore raw

PATCH v11 11/11 gst-libav: add libav plugin for gtreamer 1.x

In reply to Spenser Gilliland
---
 package/multimedia/Config.in              |    1 +
 package/multimedia/gst-libav/Config.in    |   16 ++++++++++++++++
 package/multimedia/gst-libav/gst-libav.mk |   18 ++++++++++++++++++
 3 files changed, 35 insertions(+)
 create mode 100644 package/multimedia/gst-libav/Config.in
 create mode 100644 package/multimedia/gst-libav/gst-libav.mk
package/multimedia/Config.in +1 -0
index 4d5219d..cbf583a 100644
@@ -25,6 +25,7 @@ source "package/multimedia/gst1-plugins-good/Config.in"
 source "package/multimedia/gst1-plugins-bad/Config.in"
 source "package/multimedia/gst1-plugins-ugly/Config.in"
 source "package/multimedia/gst-omx/Config.in"
+source "package/multimedia/gst-libav/Config.in"
 
 source "package/multimedia/lame/Config.in"
 source "package/multimedia/libav/Config.in"
package/multimedia/gst-libav/Config.in new file +16 -0
new file mode 100644
index 0000000..5bb7ca0
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_GST_LIBAV
+	bool "gst-libav"
+	depends on BR2_PACKAGE_GSTREAMER
+	select BR2_PACKAGE_GST_PLUGINS_BASE
+	select BR2_PACKAGE_LIBAV
+	select BR2_PACKAGE_LIBAV_GPL
+	select BR2_PACKAGE_LIBAV_SWSCALE
+	depends on BR2_LARGEFILE
+	depends on BR2_INET_IPV6
+	help
+	  GStreamer plugin using libav.
+
+	  http://gstreamer.freedesktop.org/
+
+comment "gst-libav requires a toolchain with LARGEFILE and IPV6 support"
+	depends on !(BR2_LARGEFILE && BR2_INET_IPV6)
package/multimedia/gst-libav/gst-libav.mk new file +18 -0
new file mode 100644
index 0000000..3f959db
@@ -0,0 +1,18 @@
+################################################################################
+#
+# gst-libav
+#
+################################################################################
+
+GST_LIBAV_VERSION = 1.1.1
+GST_LIBAV_SOURCE = gst-libav-$(GST_LIBAV_VERSION).tar.xz
+GST_LIBAV_SITE = http://gstreamer.freedesktop.org/src/gst-libav
+GST_LIBAV_INSTALL_STAGING = YES
+GST_LIBAV_DEPENDENCIES = host-pkgconf gstreamer1 gst1-plugins-base libav
+GST_LIBAV_CONF_OPT = --with-system-libav
+
+ifeq ($(BR2_PACKAGE_BZIP2),y)
+GST_LIBAV_DEPENDENCIES += bzip2
+endif
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.9.5