summaryrefslogtreecommitdiff
path: root/package/gstreamer/gst-plugins-base
diff options
context:
space:
mode:
authorJérôme Pouiller <jezz@sysmic.org>2013-08-30 11:05:57 +0200
committerPeter Korsgaard <jacmet@sunsite.dk>2013-09-08 21:41:39 +0200
commitadf6511013b8921d6856f5dc0e053cdd27891244 (patch)
tree14f1ba25f8ae138743e3f3954b85883c636714d8 /package/gstreamer/gst-plugins-base
parentbafa8fcc6ce90553843b5c24e68de57c40f94abe (diff)
Remove multimedia subdirectory
Unless it was a group of sub-packages, packages was never regrouped by category. multimedia/ was an exception to this rule. This patch move packages/multimedia/ sub-directories to packages/. It keeps two subdirectories for gstream 0.10 and gstreamer 1.X. Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/gstreamer/gst-plugins-base')
-rw-r--r--package/gstreamer/gst-plugins-base/Config.in110
-rw-r--r--package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch139
-rw-r--r--package/gstreamer/gst-plugins-base/gst-plugins-base.mk193
3 files changed, 442 insertions, 0 deletions
diff --git a/package/gstreamer/gst-plugins-base/Config.in b/package/gstreamer/gst-plugins-base/Config.in
new file mode 100644
index 000000000..7370bd6b0
--- /dev/null
+++ b/package/gstreamer/gst-plugins-base/Config.in
@@ -0,0 +1,110 @@
+menuconfig BR2_PACKAGE_GST_PLUGINS_BASE
+ bool "gst-plugins-base"
+ depends on BR2_PACKAGE_GSTREAMER
+ 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_GST_PLUGINS_BASE
+
+comment "dependency-less plugins"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ADDER
+ bool "adder"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP
+ bool "app"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
+ bool "audioconvert (mandatory for audio playback)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORATE
+ bool "audiorate"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
+ bool "audioresample (mandatory for audio playback)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC
+ bool "audiotestsrc"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ENCODING
+ bool "encoding"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_FFMPEGCOLORSPACE
+ bool "ffmpegcolorspace (mandatory for video playback)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_GDP
+ bool "gdp"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PLAYBACK
+ bool "playback (mandatory)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_SUBPARSE
+ bool "subparse"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TCP
+ bool "tcp"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TYPEFIND
+ bool "typefind (mandatory)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC
+ bool "videotestsrc"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEORATE
+ bool "videorate"
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOSCALE
+ bool "videoscale (mandatory for video playback)"
+ default y
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VOLUME
+ bool "volume (mandatory for audio playback)"
+ default y
+
+comment "plugins with external dependencies (there may be more available)"
+
+config BR2_PACKAGE_GST_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_GST_PLUGINS_BASE_PLUGIN_OGG
+ bool "ogg (*.ogg audio/video)"
+ select BR2_PACKAGE_LIBOGG
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO
+ bool "pango font renderer"
+ depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_USE_WCHAR # pango -> libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # pango -> libglib2
+ select BR2_PACKAGE_PANGO
+
+comment "pango plugin requires a toolchain with C++, WCHAR and threading support "
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA
+ bool "theora (*.ogg video)"
+ select BR2_PACKAGE_LIBTHEORA
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TREMOR
+ bool "tremor"
+ select BR2_PACKAGE_TREMOR
+
+config BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VORBIS
+ bool "vorbis (*.ogg audio)"
+ select BR2_PACKAGE_LIBVORBIS
+
+endif
+
diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch b/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch
new file mode 100644
index 000000000..fa8785bed
--- /dev/null
+++ b/package/gstreamer/gst-plugins-base/gst-plugins-base-tremor.patch
@@ -0,0 +1,139 @@
+From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Wed, 25 Jan 2012 23:53:04 +0100
+Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions
+
+Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726
+
+Tremor changed to use standard libogg rather than its own incompatible
+copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail.
+
+Tremolo so far unfortunately hasn't been updated. Restructure
+vorbisdeclib.h so the legacy _ogg_packet_wrapper code is only used for
+Tremolo.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++-------------------
+ 1 files changed, 41 insertions(+), 36 deletions(-)
+
+diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h
+index ca00af9..e147591 100644
+--- a/ext/vorbis/gstvorbisdeclib.h
++++ b/ext/vorbis/gstvorbisdeclib.h
+@@ -29,11 +29,6 @@
+
+ #ifndef TREMOR
+
+-#include <vorbis/codec.h>
+-
+-typedef float vorbis_sample_t;
+-typedef ogg_packet ogg_packet_wrapper;
+-
+ #define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio"
+
+ #define GST_VORBIS_DEC_SRC_CAPS \
+@@ -47,6 +42,42 @@ typedef ogg_packet ogg_packet_wrapper;
+
+ #define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec
+
++#else /* TREMOR */
++
++#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio"
++
++#define GST_VORBIS_DEC_SRC_CAPS \
++ GST_STATIC_CAPS ("audio/x-raw-int, " \
++ "rate = (int) [ 1, MAX ], " \
++ "channels = (int) [ 1, 6 ], " \
++ "endianness = (int) BYTE_ORDER, " \
++ "width = (int) { 16, 32 }, " \
++ "depth = (int) 16, " \
++ "signed = (boolean) true")
++
++#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16)
++
++/* we need a different type name here */
++#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec
++
++/* and still have it compile */
++typedef struct _GstVorbisDec GstIVorbisDec;
++typedef struct _GstVorbisDecClass GstIVorbisDecClass;
++
++#endif /* TREMOR */
++
++#ifndef USE_TREMOLO
++
++#ifdef TREMOR
++ #include <tremor/ivorbiscodec.h>
++ typedef ogg_int32_t vorbis_sample_t;
++#else
++ #include <vorbis/codec.h>
++ typedef float vorbis_sample_t;
++#endif
++
++typedef ogg_packet ogg_packet_wrapper;
++
+ static inline guint8 *
+ gst_ogg_packet_data (ogg_packet * p)
+ {
+@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet)
+ return packet;
+ }
+
+-#else
+-
+-#ifdef USE_TREMOLO
+- #include <Tremolo/ivorbiscodec.h>
+- #include <Tremolo/codec_internal.h>
+- typedef ogg_int16_t vorbis_sample_t;
+-#else
+- #include <tremor/ivorbiscodec.h>
+- typedef ogg_int32_t vorbis_sample_t;
+-#endif
++#else /* USE_TREMOLO */
+
++#include <Tremolo/ivorbiscodec.h>
++#include <Tremolo/codec_internal.h>
++typedef ogg_int16_t vorbis_sample_t;
+ typedef struct _ogg_packet_wrapper ogg_packet_wrapper;
+
+ struct _ogg_packet_wrapper {
+@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper {
+ ogg_buffer buf;
+ };
+
+-#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio"
+-
+-#define GST_VORBIS_DEC_SRC_CAPS \
+- GST_STATIC_CAPS ("audio/x-raw-int, " \
+- "rate = (int) [ 1, MAX ], " \
+- "channels = (int) [ 1, 6 ], " \
+- "endianness = (int) BYTE_ORDER, " \
+- "width = (int) { 16, 32 }, " \
+- "depth = (int) 16, " \
+- "signed = (boolean) true")
+-
+-#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16)
+-
+-/* we need a different type name here */
+-#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec
+-
+-/* and still have it compile */
+-typedef struct _GstVorbisDec GstIVorbisDec;
+-typedef struct _GstVorbisDecClass GstIVorbisDecClass;
+-
+ /* compensate minor variation */
+ #define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1)
+
+@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_wrapper * packet)
+ return &(packet->packet);
+ }
+
+-#endif
++#endif /* USE_TREMOLO */
+
+ typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in,
+ guint samples, gint channels, gint width);
+--
+1.7.8.3
+
diff --git a/package/gstreamer/gst-plugins-base/gst-plugins-base.mk b/package/gstreamer/gst-plugins-base/gst-plugins-base.mk
new file mode 100644
index 000000000..c82aad018
--- /dev/null
+++ b/package/gstreamer/gst-plugins-base/gst-plugins-base.mk
@@ -0,0 +1,193 @@
+################################################################################
+#
+# gst-plugins-base
+#
+################################################################################
+
+GST_PLUGINS_BASE_VERSION = 0.10.36
+GST_PLUGINS_BASE_SOURCE = gst-plugins-base-$(GST_PLUGINS_BASE_VERSION).tar.bz2
+GST_PLUGINS_BASE_SITE = http://gstreamer.freedesktop.org/src/gst-plugins-base
+GST_PLUGINS_BASE_INSTALL_STAGING = YES
+
+# 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
+GST_PLUGINS_BASE_CONF_ENV =
+ FT2_CONFIG=/bin/false \
+ ac_cv_header_stdint_t="stdint.h"
+
+GST_PLUGINS_BASE_CONF_OPT = \
+ --disable-examples \
+ --disable-oggtest \
+ --disable-vorbistest \
+ --disable-freetypetest
+
+GST_PLUGINS_BASE_DEPENDENCIES = gstreamer
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+GST_PLUGINS_BASE_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXv
+GST_PLUGINS_BASE_CONF_OPT += \
+ --enable-x \
+ --enable-xshm \
+ --enable-xvideo
+else
+GST_PLUGINS_BASE_CONF_OPT += \
+ --disable-x \
+ --disable-xshm \
+ --disable-xvideo
+endif
+
+ifeq ($(BR2_PACKAGE_ORC),y)
+GST_PLUGINS_BASE_DEPENDENCIES += orc
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ALSA),y)
+GST_PLUGINS_BASE_DEPENDENCIES += alsa-lib
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-alsa
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ADDER),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-adder
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-adder
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-app
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-app
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOCONVERT),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-audioconvert
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-audioconvert
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORATE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-audiorate
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-audiorate
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-audioresample
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-audioresample
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_AUDIOTESTSRC),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-audiotestsrc
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-audiotestsrc
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_ENCODING),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-encoding
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-encoding
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_FFMPEGCOLORSPACE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-ffmpegcolorspace
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-ffmpegcolorspace
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_GDP),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-gdp
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-gdp
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PLAYBACK),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-playback
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-playback
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_SUBPARSE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-subparse
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-subparse
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TCP),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-tcp
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-tcp
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TYPEFIND),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-typefind
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-typefind
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOTESTSRC),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-videotestsrc
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-videotestsrc
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEORATE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-videorate
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-videorate
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VIDEOSCALE),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-videoscale
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-videoscale
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VOLUME),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-volume
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-volume
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_OGG),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-ogg
+GST_PLUGINS_BASE_DEPENDENCIES += libogg
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-ogg
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_PANGO),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-pango
+GST_PLUGINS_BASE_DEPENDENCIES += pango
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-pango
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_THEORA),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-theora
+GST_PLUGINS_BASE_DEPENDENCIES += libtheora
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-theora
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_TREMOR),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-ivorbis
+GST_PLUGINS_BASE_DEPENDENCIES += tremor
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-ivorbis
+endif
+
+ifeq ($(BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_VORBIS),y)
+GST_PLUGINS_BASE_CONF_OPT += --enable-vorbis
+GST_PLUGINS_BASE_DEPENDENCIES += libvorbis
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-vorbis
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+GST_PLUGINS_BASE_DEPENDENCIES += zlib
+else
+GST_PLUGINS_BASE_CONF_OPT += --disable-zlib
+endif
+
+$(eval $(autotools-package))