Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v10 08/13] gst1-plugins-base: add gstreamer1 base plugins
Date: Wed, 12 Jun 2013 08:21:37 +0200	[thread overview]
Message-ID: <51B81371.3050109@mind.be> (raw)
In-Reply-To: <1370647138-26623-9-git-send-email-spenser@gillilanding.com>

On 08/06/13 01:18, Spenser Gilliland wrote:
> Adds gstreamer 1.X base plugins.

  Missing SoB.

  Protip: git config --global format.signoff true

> ---
>   package/multimedia/Config.in                       |    1 +
>   package/multimedia/gst1-plugins-base/Config.in     |  106 ++++++++++
>   .../gst1-plugins-base/gst1-plugins-base.mk         |  204 ++++++++++++++++++++
>   3 files changed, 311 insertions(+), 0 deletions(-)
>   create mode 100644 package/multimedia/gst1-plugins-base/Config.in
>   create mode 100644 package/multimedia/gst1-plugins-base/gst1-plugins-base.mk
>
> diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
> index 0351fd0..253fd17 100644
> --- a/package/multimedia/Config.in
> +++ b/package/multimedia/Config.in
> @@ -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"

  Same remark: keep all gst1 stuff together.

>   source "package/multimedia/gst-plugins-good/Config.in"
>   source "package/multimedia/gst-plugins-bad/Config.in"
>   source "package/multimedia/gst-plugins-ugly/Config.in"
> diff --git a/package/multimedia/gst1-plugins-base/Config.in b/package/multimedia/gst1-plugins-base/Config.in
> new file mode 100644
> index 0000000..2a95846
> --- /dev/null
> +++ b/package/multimedia/gst1-plugins-base/Config.in
> @@ -0,0 +1,106 @@
> +menuconfig BR2_PACKAGE_GST1_PLUGINS_BASE
> +	bool "gst1-plugins-base"
> +	depends on BR2_PACKAGE_GSTREAMER1
> +	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
> +	select BR2_PACKAGE_XLIB_LIBXV if BR2_PACKAGE_XORG7
> +	help
> +	  A basic set of well-supported plug-ins for GStreamer.
> +
> +	  http://gstreamer.freedesktop.org/
> +
> +if BR2_PACKAGE_GST1_PLUGINS_BASE
> +
> +comment "dependency-less plugins"

  It would be nice if these plugins would get some help text explaining 
what they are.  Copy and past of the description in gst-inspect is 
probably sufficient.

> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER
> +	bool "adder"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
> +	bool "app"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
> +	bool "audioconvert (mandatory for audio playback)"
> +	default y
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE
> +	bool "audiorate"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
> +	bool "audioresample (mandatory for audio playback)"
> +	default y
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC
> +	bool "audiotestsrc"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING
> +	bool "encoding"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO
> +	bool "gio"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
> +	bool "playback"
> +	default y

  I would add a "select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND" 
here. I think that is the only required dependency of the playsinks.


  There's also a gdp and a gst_v4l plugin for which no config option exists.


> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE
> +	bool "subparse"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP
> +	bool "tcp"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND
> +	bool "typefind"
> +	default y
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
> +	bool "videoconvert"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC
> +	bool "videotestsrc"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE
> +	bool "videorate"
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
> +	bool "videoscale (mandatory for video playback)"
> +	default y
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
> +	bool "volume (mandatory for audio playback)"
> +	default y
> +
> +comment "plugins with external dependencies (there may be more available)"

  What does "there may be more available" mean?

> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
> +	bool "alsa (mandatory for audio playback)"
> +	select BR2_PACKAGE_ALSA_LIB
> +	select BR2_PACKAGE_ALSA_LIB_MIXER
> +	select BR2_PACKAGE_ALSA_LIB_PCM
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG
> +	bool "ogg (*.ogg audio/video)"
> +	select BR2_PACKAGE_LIBOGG
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO
> +	bool "pango font renderer"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	select BR2_PACKAGE_PANGO
> +
> +comment "pango plugin requires a toolchain with C++ support"
> +	depends on !BR2_INSTALL_LIBSTDCPP
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA
> +	bool "theora (*.ogg video)"
> +	select BR2_PACKAGE_LIBTHEORA
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR
> +	bool "tremor"
> +	select BR2_PACKAGE_TREMOR
> +
> +config BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS
> +	bool "vorbis (*.ogg audio)"
> +	select BR2_PACKAGE_LIBVORBIS
> +
> +endif
> +
> diff --git a/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk b/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk
> new file mode 100644
> index 0000000..63c4955
> --- /dev/null
> +++ b/package/multimedia/gst1-plugins-base/gst1-plugins-base.mk
> @@ -0,0 +1,204 @@
> +################################################################################
> +#
> +# gst1-plugins-base
> +#
> +################################################################################
> +
> +GST1_PLUGINS_BASE_VERSION = 1.1.1

  I could be wrong, but didn't gstreamer switch to simultaneous releases, 
so we could use $(GSTREAMER1_VERSION) here instead?

> +GST1_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST1_PLUGINS_BASE_VERSION).tar.xz
> +GST1_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base
> +GST1_PLUGINS_BASE_INSTALL_STAGING = YES
> +GST1_PLUGINS_BASE_LICENSE_FILES = COPYING COPYING.LIB

  COPYING contains the GPL which isn't actually used by any source file 
(only some old tests). So it can be left out.

> +GST1_PLUGINS_BASE_LICENSE = LGPLv2+ LGPLv2.1+
> +
> +# freetype is only used by examples, but if it is not found
> +# and the host has a freetype-config script, then the host
> +# include dirs are added to the search path causing trouble
> +GST1_PLUGINS_BASE_CONF_ENV =
> +	FT2_CONFIG=/bin/false \
> +	ac_cv_header_stdint_t="stdint.h"

  Why is this necessary?

> +
> +GST1_PLUGINS_BASE_CONF_OPT = \
> +	--disable-examples \
> +	--disable-oggtest \
> +	--disable-vorbistest \
> +	--disable-freetypetest \
> +	--disable-valgrind \
> +	--disable-debug
> +
> +# Options which require currently unpackaged libraries
> +GST1_PLUGINS_BASE_CONF_OPT += \
> +	--disable-cdparanoia \
> +	--disable-libvisual \
> +	--disable-iso-codes
> +
> +GST1_PLUGINS_BASE_DEPENDENCIES = gstreamer1
> +
> +ifeq ($(BR2_PACKAGE_XORG7),y)
> +GST1_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv
> +GST1_PLUGINS_BASE_CONF_OPT += \
> +	--enable-x \
> +	--enable-xshm \
> +	--enable-xvideo
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += \
> +	--disable-x \
> +	--disable-xshm \
> +	--disable-xvideo
> +endif

  I would actually make configure options for ximagesink and xvimagesink 
(--enable-x and --enable-xvideo).

> +
> +ifeq ($(BR2_PACKAGE_ORC),y)
> +GST1_PLUGINS_BASE_DEPENDENCIES += orc
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-orc
> +endif
> +

  It would be nice if the plugins below could be kept alphabetic.


  Regards,
  Arnout

> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA),y)
> +GST1_PLUGINS_BASE_DEPENDENCIES += alsa-lib
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-alsa
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ADDER),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-adder
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-adder
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-app
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-app
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-audioconvert
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-audioconvert
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORATE),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-audiorate
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-audiorate
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-audioresample
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-audioresample
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-audiotestsrc
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-audiotestsrc
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ENCODING),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-encoding
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-encoding
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-videoconvert
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-videoconvert
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_GIO),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-gio
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-gio
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-playback
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-playback
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_SUBPARSE),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-subparse
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-subparse
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TCP),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-tcp
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-tcp
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TYPEFIND),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-typefind
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-typefind
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-videotestsrc
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-videotestsrc
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEORATE),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-videorate
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-videorate
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-videoscale
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-videoscale
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-volume
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-volume
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_OGG),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-ogg
> +GST1_PLUGINS_BASE_DEPENDENCIES += libogg
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-ogg
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PANGO),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-pango
> +GST1_PLUGINS_BASE_DEPENDENCIES += pango
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-pango
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_THEORA),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-theora
> +GST1_PLUGINS_BASE_DEPENDENCIES += libtheora
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-theora
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_TREMOR),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-ivorbis
> +GST1_PLUGINS_BASE_DEPENDENCIES += tremor
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-ivorbis
> +endif
> +
> +ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VORBIS),y)
> +GST1_PLUGINS_BASE_CONF_OPT += --enable-vorbis
> +GST1_PLUGINS_BASE_DEPENDENCIES += libvorbis
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-vorbis
> +endif
> +
> +ifeq ($(BR2_PACKAGE_ZLIB),y)
> +GST1_PLUGINS_BASE_DEPENDENCIES += zlib
> +else
> +GST1_PLUGINS_BASE_CONF_OPT += --disable-zlib
> +endif
> +
> +$(eval $(autotools-package))
>


-- 
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

  reply	other threads:[~2013-06-12  6:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-07 23:18 [Buildroot] [PATCH v10 00/13] add Gstreamer 1.X for gst-omx support Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 01/13] libglib2: Bump libglib2 to 2.36.1 Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 02/13] gdk-pixbuf: bump to version 2.28.1 Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 03/13] libgtk2: bump to version 2.24.18 and drop DirectFB Spenser Gilliland
2013-06-08 22:38   ` Peter Korsgaard
2013-06-07 23:18 ` [Buildroot] [PATCH v10 04/13] libsoup: bump to version 2.43.1 Spenser Gilliland
2013-06-08 22:38   ` Peter Korsgaard
2013-06-07 23:18 ` [Buildroot] [PATCH v10 05/13] webkit: bump to version 1.9.6 Spenser Gilliland
2013-06-08 22:38   ` Peter Korsgaard
2013-06-07 23:18 ` [Buildroot] [PATCH v10 06/13] gstreamer1: Add gstreamer version 1.1.1 package Spenser Gilliland
2013-06-12  5:51   ` Arnout Vandecappelle
2013-06-07 23:18 ` [Buildroot] [PATCH v10 07/13] gstreamer: update Config.in with gstreamer1 info Spenser Gilliland
2013-06-12  5:52   ` Arnout Vandecappelle
2013-06-07 23:18 ` [Buildroot] [PATCH v10 08/13] gst1-plugins-base: add gstreamer1 base plugins Spenser Gilliland
2013-06-12  6:21   ` Arnout Vandecappelle [this message]
2013-06-12 19:19     ` Spenser Gilliland
2013-06-13  5:57       ` Arnout Vandecappelle
2013-06-13 15:10         ` Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 09/13] gst1-plugins-good: add gstreamer1 good plugins Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 10/13] gst1-plugins-bad: add gstreamer1 bad plugins Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 11/13] gst1-plugins-ugly: add gstreamer1 ugly plugins Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 12/13] gst1-plugins-good: add libvpx support Spenser Gilliland
2013-06-07 23:18 ` [Buildroot] [PATCH v10 13/13] gst-omx: add gst-omx package Spenser Gilliland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51B81371.3050109@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox