[Buildroot] [PATCH v10 08/13] gst1-plugins-base: add gstreamer1 base plugins
Spenser Gilliland
spenser at gillilanding.com
Wed Jun 12 19:19:22 UTC 2013
Arnout,
Thanks for taking the time to review these patches. For your other
two patch reviews, I have incorporated all changes into my next patch
series.
On Wed, Jun 12, 2013 at 1:21 AM, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 08/06/13 01:18, Spenser Gilliland wrote:
>>
>> Adds gstreamer 1.X base plugins.
>
>
> Missing SoB.
>
> Protip: git config --global format.signoff true
Usually, do this with git format-patch -s must have forgot to add the
switch. I'll add this to my config.
>
>> ---
>> 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.
Will do.
>
>
>> 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.
Sounds reasonable. Will do.
>
>> +
>> +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.
Good to know. I'll add this to the next patch series.
> There's also a gdp and a gst_v4l plugin for which no config option exists.
I cannot find either of these options in the ./configure --help output
are you sure they are available?
>
>
>> +
>> +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?
I've updated the wording to "plugins which have unpackaged
dependencies are not shown" .
>
>> +
>> +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?
Not sure, this was in the gst-plugins-base and was simply copied to
gst1-plugins-base.
The following two commits created these lines.
http://git.buildroot.net/buildroot/commit/package/multimedia/gst-plugins-base/gst-plugins-base.mk?id=8232850c51e07b99ba84769b492faa147290fdc7
http://git.buildroot.net/buildroot/commit/package/multimedia/gst-plugins-base/gst-plugins-base.mk?id=32d319e6f7242553c821c7a1eadfabd2719f5992
>
>> +
>> +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).
As X already consumes a large amount of
>
>> +
>> +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.
How about if I keep them in the order of ./configure --help? That way
its easy to spot when new ones are added and old ones removed.
Thanks,
Spenser
--
Spenser Gilliland
Computer Engineer
Doctoral Candidate
More information about the buildroot
mailing list