summaryrefslogtreecommitdiffstats
path: root/abs/extra/community
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra/community')
-rw-r--r--abs/extra/community/gstreamer0.10-base/PKGBUILD51
-rw-r--r--abs/extra/community/gstreamer0.10-base/__changelog1
-rw-r--r--abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch236
-rw-r--r--abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch23
-rw-r--r--abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch22
-rw-r--r--abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch10
-rw-r--r--abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch122
-rw-r--r--abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch171
-rw-r--r--abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD28
-rw-r--r--abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch39
-rw-r--r--abs/extra/community/gstreamer0.10-good/PKGBUILD41
-rw-r--r--abs/extra/community/gstreamer0.10-good/__changelog1
-rw-r--r--abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch422
-rw-r--r--abs/extra/community/gstreamer0.10-python/PKGBUILD5
-rw-r--r--abs/extra/community/gstreamer0.10/PKGBUILD33
-rw-r--r--abs/extra/community/gstreamer0.10/bison3.patch31
-rw-r--r--abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch60
17 files changed, 1197 insertions, 99 deletions
diff --git a/abs/extra/community/gstreamer0.10-base/PKGBUILD b/abs/extra/community/gstreamer0.10-base/PKGBUILD
index 5bfea48..bc63724 100644
--- a/abs/extra/community/gstreamer0.10-base/PKGBUILD
+++ b/abs/extra/community/gstreamer0.10-base/PKGBUILD
@@ -1,41 +1,62 @@
-# $Id: PKGBUILD 153257 2012-03-12 15:48:41Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=('gstreamer0.10-base')
pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins')
pkgver=0.10.36
-pkgrel=1
+pkgrel=3
arch=('i686' 'x86_64')
license=('LGPL')
-makedepends=('pkgconfig' 'gstreamer0.10>=0.10.35' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection')
-options=(!libtool !emptydirs)
+makedepends=('pkgconfig' 'gstreamer0.10>=0.10.36' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection' 'git')
+options=(!emptydirs)
url="http://gstreamer.freedesktop.org/"
-source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.xz)
-sha256sums=('1fe45c3894903001d4d008b0713dab089f53726dcb5842d5b40c2595a984e64a')
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-base#commit=48d5966f12d4e6b71c96db0600cf76ef0ef14b3a"
+ fix-crash-0-byte-ogg.patch
+ colorbalance-fix-abi.patch
+ revert-decodebin-playbin-removal.patch
+ videoscale-fix-negotiation.patch
+ ayuv64-lanczos.patch
+ gstaudio-symbols.patch)
+sha256sums=('SKIP'
+ 'a6a01035ea9627737f9c17f72919857ed43ccc7c2cb08b645b43ed89f78d0f4f'
+ '7442c5c68068428b8c7ac1d3825ce29f1bb152b75b77047b9e806c7d322b780c'
+ 'ba20659fafea73db016ddaecd128f12087e0957ce35cf2c3ce29f72c51551ef3'
+ 'ae27f7be58997217f67898b37b138a485c203389e56b65e6b31c23f769ef39ca'
+ '3792dfe80c69f51c0db98533e8fb16707b5dd2ee6933ea6098583af873ceb44a'
+ '56e7a988df39d2ec4befa265536ad8c30d3c8d18d136cebef64e8d6baac1abae')
+
+prepare() {
+ cd gst-plugins-base
+ sed -i -e '/AC_PATH_XTRA/d' -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+ patch -Np1 -i ../fix-crash-0-byte-ogg.patch
+ patch -Np1 -i ../colorbalance-fix-abi.patch
+ patch -Np1 -i ../ayuv64-lanczos.patch
+ patch -Np1 -i ../videoscale-fix-negotiation.patch
+ patch -Np1 -i ../gstaudio-symbols.patch
+ patch -Np1 -R -i ../revert-decodebin-playbin-removal.patch
+}
build() {
- cd "${srcdir}/gst-plugins-base-${pkgver}"
- sed -i '/AC_PATH_XTRA/d' configure.ac
- autoreconf
+ cd gst-plugins-base
+ NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
- --disable-static --enable-experimental --disable-gnome_vfs \
+ --disable-static --enable-experimental --disable-gnome_vfs --disable-gtk-doc \
--with-package-name="GStreamer Base Plugins (Archlinux)" \
--with-package-origin="http://www.archlinux.org/"
-
make
sed -e 's/^SUBDIRS_EXT =.*/SUBDIRS_EXT =/' -i Makefile
}
check() {
- cd "${srcdir}/gst-plugins-base-${pkgver}"
+ cd gst-plugins-base
make check
}
package_gstreamer0.10-base() {
pkgdesc="GStreamer Multimedia Framework Base plugin libraries"
- depends=('gstreamer0.10>=0.10.35' 'orc' 'libxv')
+ depends=('gstreamer0.10>=0.10.36' 'orc' 'libxv')
- cd "${srcdir}/gst-plugins-base-${pkgver}"
+ cd gst-plugins-base
make DESTDIR="${pkgdir}" install
}
@@ -46,7 +67,7 @@ package_gstreamer0.10-base-plugins() {
conflicts=('gstreamer0.10-alsa' 'gstreamer0.10-theora' 'gstreamer0.10-libvisual' 'gstreamer0.10-pango' 'gstreamer0.10-cdparanoia' 'gstreamer0.10-vorbis' 'gstreamer0.10-ogg')
groups=('gstreamer0.10-plugins')
- cd "${srcdir}/gst-plugins-base-${pkgver}"
+ cd gst-plugins-base
make -C gst-libs DESTDIR="${pkgdir}" install
make -C ext DESTDIR="${pkgdir}" install
make -C gst-libs DESTDIR="${pkgdir}" uninstall
diff --git a/abs/extra/community/gstreamer0.10-base/__changelog b/abs/extra/community/gstreamer0.10-base/__changelog
deleted file mode 100644
index 05c3a3b..0000000
--- a/abs/extra/community/gstreamer0.10-base/__changelog
+++ /dev/null
@@ -1 +0,0 @@
-removed jack and libpulse
diff --git a/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch b/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch
new file mode 100644
index 0000000..64106e4
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/ayuv64-lanczos.patch
@@ -0,0 +1,236 @@
+From e4f01106d08f3c2a65897bfe919bd65ce55545a8 Mon Sep 17 00:00:00 2001
+From: David Schleef <ds@schleef.org>
+Date: Wed, 25 Jan 2012 23:49:00 +0000
+Subject: videoscale: Add AYUV64 path to Lanczos
+
+---
+diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c
+index 7b44647..6df4ba6 100644
+--- a/gst/videoscale/gstvideoscale.c
++++ b/gst/videoscale/gstvideoscale.c
+@@ -1199,6 +1199,11 @@ gst_video_scale_transform (GstBaseTransform * trans, GstBuffer * in,
+ case GST_VIDEO_SCALE_4TAP:
+ vs_image_scale_4tap_AYUV64 (&dest, &src, videoscale->tmp_buf);
+ break;
++ case GST_VIDEO_SCALE_LANCZOS:
++ vs_image_scale_lanczos_AYUV64 (&dest, &src, videoscale->tmp_buf,
++ videoscale->sharpness, videoscale->dither, videoscale->submethod,
++ videoscale->envelope, videoscale->sharpen);
++ break;
+ default:
+ goto unknown_mode;
+ }
+diff --git a/gst/videoscale/vs_image.h b/gst/videoscale/vs_image.h
+index 2312acc..7b34991 100644
+--- a/gst/videoscale/vs_image.h
++++ b/gst/videoscale/vs_image.h
+@@ -52,6 +52,9 @@ void vs_image_scale_linear_RGBA (const VSImage *dest, const VSImage *src,
+ void vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src,
+ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod,
+ double a, double sharpen);
++void vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src,
++ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod,
++ double a, double sharpen);
+
+ void vs_image_scale_nearest_RGB (const VSImage *dest, const VSImage *src,
+ uint8_t *tmpbuf);
+diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c
+index 1c87ba3..d141a01 100644
+--- a/gst/videoscale/vs_lanczos.c
++++ b/gst/videoscale/vs_lanczos.c
+@@ -204,6 +204,9 @@ static void vs_image_scale_lanczos_AYUV_float (const VSImage * dest,
+ static void vs_image_scale_lanczos_AYUV_double (const VSImage * dest,
+ const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither,
+ double a, double sharpen);
++static void vs_image_scale_lanczos_AYUV64_double (const VSImage * dest,
++ const VSImage * src, uint8_t * tmpbuf, double sharpness, gboolean dither,
++ double a, double sharpen);
+
+ static double
+ sinc (double x)
+@@ -590,6 +593,15 @@ vs_image_scale_lanczos_AYUV (const VSImage * dest, const VSImage * src,
+ }
+ }
+
++void
++vs_image_scale_lanczos_AYUV64 (const VSImage * dest, const VSImage * src,
++ uint8_t * tmpbuf, double sharpness, gboolean dither, int submethod,
++ double a, double sharpen)
++{
++ vs_image_scale_lanczos_AYUV64_double (dest, src, tmpbuf, sharpness, dither,
++ a, sharpen);
++}
++
+
+
+ #define RESAMPLE_HORIZ_FLOAT(function, dest_type, tap_type, src_type, _n_taps) \
+@@ -813,9 +825,9 @@ RESAMPLE_VERT_DITHER (resample_vert_dither_int16_generic, gint16, gint16,
+ n_taps, shift)
+ /* *INDENT-ON* */
+
+-#define RESAMPLE_VERT_FLOAT(function, tap_type, src_type, _n_taps, _shift) \
++#define RESAMPLE_VERT_FLOAT(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \
+ static void \
+-function (guint8 *dest, \
++function (dest_type *dest, \
+ const tap_type *taps, const src_type *src, int stride, int n_taps, \
+ int shift, int n) \
+ { \
+@@ -828,13 +840,13 @@ function (guint8 *dest, \
+ const src_type *line = PTR_OFFSET(src, stride * l); \
+ sum_y += line[i] * taps[l]; \
+ } \
+- dest[i] = CLAMP (floor(0.5 + sum_y), 0, 255); \
++ dest[i] = CLAMP (floor(0.5 + sum_y), 0, clamp); \
+ } \
+ }
+
+-#define RESAMPLE_VERT_FLOAT_DITHER(function, tap_type, src_type, _n_taps, _shift) \
++#define RESAMPLE_VERT_FLOAT_DITHER(function, dest_type, clamp, tap_type, src_type, _n_taps, _shift) \
+ static void \
+-function (guint8 *dest, \
++function (dest_type *dest, \
+ const tap_type *taps, const src_type *src, int stride, int n_taps, \
+ int shift, int n) \
+ { \
+@@ -849,19 +861,24 @@ function (guint8 *dest, \
+ sum_y += line[i] * taps[l]; \
+ } \
+ err_y += sum_y; \
+- dest[i] = CLAMP (floor (err_y), 0, 255); \
++ dest[i] = CLAMP (floor (err_y), 0, clamp); \
+ err_y -= floor (err_y); \
+ } \
+ }
+
+ /* *INDENT-OFF* */
+-RESAMPLE_VERT_FLOAT (resample_vert_double_generic, double, double, n_taps,
++RESAMPLE_VERT_FLOAT (resample_vert_double_generic, guint8, 255, double, double, n_taps,
+ shift)
+-RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, double, double,
++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic, guint8, 255, double, double,
+ n_taps, shift)
+
+-RESAMPLE_VERT_FLOAT (resample_vert_float_generic, float, float, n_taps, shift)
+-RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, float, float,
++RESAMPLE_VERT_FLOAT (resample_vert_double_generic_u16, guint16, 65535, double, double, n_taps,
++ shift)
++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_double_generic_u16, guint16, 65535, double, double,
++ n_taps, shift)
++
++RESAMPLE_VERT_FLOAT (resample_vert_float_generic, guint8, 255, float, float, n_taps, shift)
++RESAMPLE_VERT_FLOAT_DITHER (resample_vert_dither_float_generic, guint8, 255, float, float,
+ n_taps, shift)
+ /* *INDENT-ON* */
+
+@@ -1556,3 +1573,77 @@ vs_image_scale_lanczos_AYUV_float (const VSImage * dest, const VSImage * src,
+ scale1d_cleanup (&scale->y_scale1d);
+ g_free (scale->tmpdata);
+ }
++
++static void
++vs_scale_lanczos_AYUV64_double (Scale * scale)
++{
++ int j;
++ int yi;
++ int tmp_yi;
++
++ tmp_yi = 0;
++
++ for (j = 0; j < scale->dest->height; j++) {
++ guint16 *destline;
++ double *taps;
++
++ destline = (guint16 *) (scale->dest->pixels + scale->dest->stride * j);
++
++ yi = scale->y_scale1d.offsets[j];
++
++ while (tmp_yi < yi + scale->y_scale1d.n_taps) {
++ scale->horiz_resample_func (TMP_LINE_DOUBLE_AYUV (tmp_yi),
++ scale->x_scale1d.offsets, scale->x_scale1d.taps, SRC_LINE (tmp_yi),
++ scale->x_scale1d.n_taps, 0, scale->dest->width);
++ tmp_yi++;
++ }
++
++ taps = (double *) scale->y_scale1d.taps + j * scale->y_scale1d.n_taps;
++ if (scale->dither) {
++ resample_vert_dither_double_generic_u16 (destline,
++ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]),
++ sizeof (double) * 4 * scale->dest->width,
++ scale->y_scale1d.n_taps, 0, scale->dest->width * 4);
++ } else {
++ resample_vert_double_generic_u16 (destline,
++ taps, TMP_LINE_DOUBLE_AYUV (scale->y_scale1d.offsets[j]),
++ sizeof (double) * 4 * scale->dest->width,
++ scale->y_scale1d.n_taps, 0, scale->dest->width * 4);
++ }
++ }
++}
++
++void
++vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src,
++ uint8_t * tmpbuf, double sharpness, gboolean dither, double a,
++ double sharpen)
++{
++ Scale s = { 0 };
++ Scale *scale = &s;
++ int n_taps;
++
++ scale->dest = dest;
++ scale->src = src;
++
++ n_taps = scale1d_get_n_taps (src->width, dest->width, a, sharpness);
++ scale1d_calculate_taps (&scale->x_scale1d,
++ src->width, dest->width, n_taps, a, sharpness, sharpen);
++
++ n_taps = scale1d_get_n_taps (src->height, dest->height, a, sharpness);
++ scale1d_calculate_taps (&scale->y_scale1d,
++ src->height, dest->height, n_taps, a, sharpness, sharpen);
++
++ scale->dither = dither;
++
++ scale->horiz_resample_func =
++ (HorizResampleFunc) resample_horiz_double_ayuv_generic;
++
++ scale->tmpdata =
++ g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4);
++
++ vs_scale_lanczos_AYUV64_double (scale);
++
++ scale1d_cleanup (&scale->x_scale1d);
++ scale1d_cleanup (&scale->y_scale1d);
++ g_free (scale->tmpdata);
++}
+--
+cgit v0.9.0.2-2-gbebe
+From f8dc679ca7e9542e6f410062df5e332fc8e0ba9d Mon Sep 17 00:00:00 2001
+From: David Schleef <ds@schleef.org>
+Date: Sun, 19 Feb 2012 08:03:03 +0000
+Subject: videoscale: fix AYUV64 scaling
+
+---
+diff --git a/gst/videoscale/vs_lanczos.c b/gst/videoscale/vs_lanczos.c
+index d141a01..67cd401 100644
+--- a/gst/videoscale/vs_lanczos.c
++++ b/gst/videoscale/vs_lanczos.c
+@@ -728,6 +728,9 @@ RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic, double, double,
+ RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_float_ayuv_generic, float, float,
+ guint8, n_taps)
+
++RESAMPLE_HORIZ_AYUV_FLOAT (resample_horiz_double_ayuv_generic_s16, double, double,
++ guint16, n_taps)
++
+ RESAMPLE_HORIZ (resample_horiz_int32_int32_u8_generic, gint32, gint32,
+ guint8, n_taps, shift)
+ RESAMPLE_HORIZ (resample_horiz_int16_int16_u8_generic, gint16, gint16,
+@@ -1636,7 +1639,7 @@ vs_image_scale_lanczos_AYUV64_double (const VSImage * dest, const VSImage * src,
+ scale->dither = dither;
+
+ scale->horiz_resample_func =
+- (HorizResampleFunc) resample_horiz_double_ayuv_generic;
++ (HorizResampleFunc) resample_horiz_double_ayuv_generic_s16;
+
+ scale->tmpdata =
+ g_malloc (sizeof (double) * scale->dest->width * scale->src->height * 4);
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch b/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch
new file mode 100644
index 0000000..1e7b8f2
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/colorbalance-fix-abi.patch
@@ -0,0 +1,23 @@
+From 0cb4ccb1f09d39820682e052fc106f5fd7fa1309 Mon Sep 17 00:00:00 2001
+From: Stefan Sauer <ensonic@users.sf.net>
+Date: Fri, 24 Feb 2012 20:37:00 +0000
+Subject: interfaces: fix ABI class padding after the recent changes
+
+---
+(limited to 'gst-libs/gst/interfaces/colorbalance.h')
+
+diff --git a/gst-libs/gst/interfaces/colorbalance.h b/gst-libs/gst/interfaces/colorbalance.h
+index fd8ceaa..9f0a1cd 100644
+--- a/gst-libs/gst/interfaces/colorbalance.h
++++ b/gst-libs/gst/interfaces/colorbalance.h
+@@ -102,7 +102,7 @@ struct _GstColorBalanceClass {
+ GstColorBalanceType (*get_balance_type) (GstColorBalance *balance);
+
+ /*< private >*/
+- gpointer _gst_reserved[GST_PADDING];
++ gpointer _gst_reserved[GST_PADDING-1];
+ };
+
+ GType gst_color_balance_get_type (void);
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch b/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch
new file mode 100644
index 0000000..2c03e82
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/fix-crash-0-byte-ogg.patch
@@ -0,0 +1,22 @@
+From 7f22e3ea7f713867e1fbf2ef71b6a6e36e1f0531 Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Sun, 28 Oct 2012 10:07:16 +0000
+Subject: oggstream: fix crash with 0 byte ogg packets
+
+https://bugzilla.gnome.org/show_bug.cgi?id=687030
+---
+diff --git a/ext/ogg/gstoggstream.c b/ext/ogg/gstoggstream.c
+index c79f088..fe28f2e 100644
+--- a/ext/ogg/gstoggstream.c
++++ b/ext/ogg/gstoggstream.c
+@@ -790,7 +790,7 @@ setup_vorbis_mapper (GstOggStream * pad, ogg_packet * packet)
+ static gboolean
+ is_header_vorbis (GstOggStream * pad, ogg_packet * packet)
+ {
+- if (packet->bytes > 0 && (packet->packet[0] & 0x01) == 0)
++ if (packet->bytes == 0 || (packet->packet[0] & 0x01) == 0)
+ return FALSE;
+
+ if (packet->packet[0] == 5) {
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch b/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch
new file mode 100644
index 0000000..7e2ad0f
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/gstaudio-symbols.patch
@@ -0,0 +1,10 @@
+--- gst-plugins-base/win32/common/libgstaudio.def.orig 2013-12-10 12:09:41.280012610 +0000
++++ gst-plugins-base/win32/common/libgstaudio.def 2013-12-10 12:10:12.253127720 +0000
+@@ -24,6 +24,7 @@
+ gst_audio_decoder_get_plc_aware
+ gst_audio_decoder_get_tolerance
+ gst_audio_decoder_get_type
++ gst_audio_decoder_merge_tags
+ gst_audio_decoder_set_byte_time
+ gst_audio_decoder_set_drainable
+ gst_audio_decoder_set_latency
diff --git a/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch b/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch
new file mode 100644
index 0000000..2e59139
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/revert-decodebin-playbin-removal.patch
@@ -0,0 +1,122 @@
+From fece626254e3b250e4514d1c92ac8289421d9511 Mon Sep 17 00:00:00 2001
+From: Sebastian Dröge <sebastian.droege@collabora.co.uk>
+Date: Thu, 15 Mar 2012 11:34:22 +0000
+Subject: Disable old playbin and decodebin
+
+---
+diff --git a/gst/playback/Makefile.am b/gst/playback/Makefile.am
+index a0f1abc..700f581 100644
+--- a/gst/playback/Makefile.am
++++ b/gst/playback/Makefile.am
+@@ -6,19 +6,15 @@ glib_gen_basename = gstplay
+ built_sources = gstplay-marshal.c
+ built_headers = gstplay-marshal.h
+
+-plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin.la libgstdecodebin2.la
++plugin_LTLIBRARIES = libgstplaybin.la libgstdecodebin2.la
+
+ csp_cflags = -DCOLORSPACE=\"ffmpegcolorspace\"
+
+ libgstplaybin_la_SOURCES = \
+ gstplayback.c \
+- gstplaybin.c \
+ gstplaybin2.c \
+ gstplaysink.c \
+- gstplaybasebin.c \
+ gstplay-enum.c \
+- gststreaminfo.c \
+- gststreamselector.c \
+ gstsubtitleoverlay.c \
+ gstplaysinkvideoconvert.c \
+ gstplaysinkaudioconvert.c \
+@@ -37,17 +33,6 @@ if !GST_PLUGIN_BUILD_STATIC
+ libgstplaybin_la_LIBTOOLFLAGS = --tag=disable-static
+ endif
+
+-libgstdecodebin_la_SOURCES = gstdecodebin.c
+-nodist_libgstdecodebin_la_SOURCES = $(built_sources)
+-libgstdecodebin_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags)
+-libgstdecodebin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+-libgstdecodebin_la_LIBADD = \
+- $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \
+- $(GST_LIBS)
+-if !GST_PLUGIN_BUILD_STATIC
+-libgstdecodebin_la_LIBTOOLFLAGS = --tag=disable-static
+-endif
+-
+ libgstdecodebin2_la_SOURCES = gstdecodebin2.c gsturidecodebin.c gstplay-enum.c
+ nodist_libgstdecodebin2_la_SOURCES = $(built_sources)
+ libgstdecodebin2_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) $(csp_cflags)
+@@ -61,11 +46,8 @@ endif
+
+ noinst_HEADERS = \
+ gstplayback.h \
+- gstplaybasebin.h \
+ gstplaysink.h \
+- gststreaminfo.h \
+ gstplay-enum.h \
+- gststreamselector.h \
+ gstrawcaps.h \
+ gstsubtitleoverlay.h \
+ gstplaysinkvideoconvert.h \
+@@ -83,18 +65,6 @@ include $(top_srcdir)/common/gst-glib-gen.mak
+
+ Android.mk: Makefile.am $(BUILT_SOURCES)
+ androgenizer \
+- -:PROJECT libgstdecodebin -:SHARED libgstdecodebin \
+- -:TAGS eng debug \
+- -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
+- -:SOURCES $(libgstdecodebin_la_SOURCES) \
+- $(nodist_libgstdecodebin_la_SOURCES) \
+- -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstdecodebin_la_CFLAGS) $(csp_cflags) \
+- -:LDFLAGS $(libgstdecodebin_la_LDFLAGS) \
+- $(libgstdecodebin_la_LIBADD) \
+- -ldl \
+- -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
+- LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-0.10' \
+- \
+ -:PROJECT libgstdecodebin2 -:SHARED libgstdecodebin2 \
+ -:TAGS eng debug \
+ -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
+diff --git a/gst/playback/gstplayback.c b/gst/playback/gstplayback.c
+index 5b74786..f99df6e 100644
+--- a/gst/playback/gstplayback.c
++++ b/gst/playback/gstplayback.c
+@@ -29,8 +29,6 @@
+
+ #include "gstplayback.h"
+ #include "gstplaysink.h"
+-#include "gststreamselector.h"
+-#include "gststreaminfo.h"
+ #include "gstsubtitleoverlay.h"
+
+ static gboolean
+@@ -47,13 +45,7 @@ plugin_init (GstPlugin * plugin)
+ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+ #endif /* ENABLE_NLS */
+
+- /* ref class from a thread-safe context to work around missing bit of
+- * thread-safety in GObject */
+- g_type_class_ref (GST_TYPE_STREAM_INFO);
+- g_type_class_ref (GST_TYPE_STREAM_SELECTOR);
+-
+- res = gst_play_bin_plugin_init (plugin);
+- res &= gst_play_bin2_plugin_init (plugin);
++ res = gst_play_bin2_plugin_init (plugin);
+ res &= gst_play_sink_plugin_init (plugin);
+ res &= gst_subtitle_overlay_plugin_init (plugin);
+
+diff --git a/gst/playback/gstplayback.h b/gst/playback/gstplayback.h
+index 4be121c..5981cdd 100644
+--- a/gst/playback/gstplayback.h
++++ b/gst/playback/gstplayback.h
+@@ -24,7 +24,6 @@
+ #include <gst/gst.h>
+
+ gboolean gst_decode_bin_plugin_init (GstPlugin * plugin);
+-gboolean gst_play_bin_plugin_init (GstPlugin * plugin);
+ gboolean gst_play_bin2_plugin_init (GstPlugin * plugin);
+
+
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch b/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch
new file mode 100644
index 0000000..6e34d41
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-base/videoscale-fix-negotiation.patch
@@ -0,0 +1,171 @@
+From 63d1316c0fd4ce22cf4a53f4aa7cb1ca16a07aa8 Mon Sep 17 00:00:00 2001
+From: Tim-Philipp Müller <tim.muller@collabora.co.uk>
+Date: Sun, 26 Feb 2012 18:19:57 +0000
+Subject: videoscale: fix negotiation after addition of new formats and methods
+
+Now that we no longer support all methods for all formats, we
+need to cater for that in the transform function: we can't
+transform formats not supported by the currently-selected
+mehod.
+
+make check, folks. It's da bomb.
+---
+diff --git a/gst/videoscale/gstvideoscale.c b/gst/videoscale/gstvideoscale.c
+index 9f072a3..60dd5ff 100644
+--- a/gst/videoscale/gstvideoscale.c
++++ b/gst/videoscale/gstvideoscale.c
+@@ -424,10 +424,118 @@ gst_video_scale_get_property (GObject * object, guint prop_id, GValue * value,
+ }
+ }
+
++#define NEAREST (1 << GST_VIDEO_SCALE_NEAREST)
++#define BILINEAR (1 << GST_VIDEO_SCALE_BILINEAR)
++#define FOURTAP (1 << GST_VIDEO_SCALE_4TAP)
++#define LANCZOS (1 << GST_VIDEO_SCALE_LANCZOS)
++
++/* or we could just do lookups via table[format] if we could be bothered.. */
++static const struct
++{
++ GstVideoFormat format;
++ guint8 methods;
++} formats_methods_table[] = {
++ {
++ GST_VIDEO_FORMAT_RGBx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_xRGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_BGRx, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_xBGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_RGBA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_ARGB, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_BGRA, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_ABGR, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_AYUV, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_ARGB64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_AYUV64, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_RGB, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_BGR, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_v308, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_YUY2, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_YVYU, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_UYVY, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_Y800, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_GRAY8, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_GRAY16_LE, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_GRAY16_BE, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_Y16, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_I420, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_YV12, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_Y444, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_Y42B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_Y41B, NEAREST | BILINEAR | FOURTAP | LANCZOS}, {
++ GST_VIDEO_FORMAT_NV12, NEAREST | BILINEAR}, {
++ GST_VIDEO_FORMAT_RGB16, NEAREST | BILINEAR | FOURTAP}, {
++ GST_VIDEO_FORMAT_RGB15, NEAREST | BILINEAR | FOURTAP}
++};
++
++static gboolean
++gst_video_scale_format_supported_for_method (GstVideoFormat format,
++ GstVideoScaleMethod method)
++{
++ int i;
++
++ for (i = 0; i < G_N_ELEMENTS (formats_methods_table); ++i) {
++ if (formats_methods_table[i].format == format)
++ return ((formats_methods_table[i].methods & (1 << method)) != 0);
++ }
++ return FALSE;
++}
++
++static gboolean
++gst_video_scale_transform_supported (GstVideoScale * videoscale,
++ GstVideoScaleMethod method, GstStructure * structure)
++{
++ const GValue *val;
++ GstVideoFormat fmt;
++ gboolean supported = TRUE;
++ GstStructure *s;
++ GstCaps *c;
++
++ /* we support these methods for all formats */
++ if (method == GST_VIDEO_SCALE_NEAREST || method == GST_VIDEO_SCALE_BILINEAR)
++ return TRUE;
++
++ /* we need fixed caps if we want to use gst_video_parse_caps() */
++ s = gst_structure_new (gst_structure_get_name (structure),
++ "width", G_TYPE_INT, 1, "height", G_TYPE_INT, 1, NULL);
++
++ if ((val = gst_structure_get_value (structure, "format"))) {
++ gst_structure_set_value (s, "format", val);
++ } else {
++ if ((val = gst_structure_get_value (structure, "endianness")))
++ gst_structure_set_value (s, "endianness", val);
++ if ((val = gst_structure_get_value (structure, "red_mask")))
++ gst_structure_set_value (s, "red_mask", val);
++ if ((val = gst_structure_get_value (structure, "blue_mask")))
++ gst_structure_set_value (s, "blue_mask", val);
++ if ((val = gst_structure_get_value (structure, "green_mask")))
++ gst_structure_set_value (s, "green_mask", val);
++ if ((val = gst_structure_get_value (structure, "alpha_mask")))
++ gst_structure_set_value (s, "alpha_mask", val);
++ if ((val = gst_structure_get_value (structure, "depth")))
++ gst_structure_set_value (s, "depth", val);
++ if ((val = gst_structure_get_value (structure, "bpp")))
++ gst_structure_set_value (s, "bpp", val);
++ }
++ c = gst_caps_new_full (s, NULL);
++ if (!gst_video_format_parse_caps (c, &fmt, NULL, NULL)) {
++ GST_ERROR_OBJECT (videoscale, "couldn't parse %" GST_PTR_FORMAT, c);
++ } else if (!gst_video_scale_format_supported_for_method (fmt, method)) {
++ supported = FALSE;
++ }
++ GST_LOG_OBJECT (videoscale, "method %d %ssupported for format %d",
++ method, (supported) ? "" : "not ", fmt);
++ gst_caps_unref (c);
++
++ return supported;
++}
++
+ static GstCaps *
+ gst_video_scale_transform_caps (GstBaseTransform * trans,
+ GstPadDirection direction, GstCaps * caps)
+ {
++ GstVideoScale *videoscale = GST_VIDEO_SCALE (trans);
++ GstVideoScaleMethod method;
+ GstCaps *ret;
+ GstStructure *structure;
+
+@@ -441,6 +549,13 @@ gst_video_scale_transform_caps (GstBaseTransform * trans,
+ ret = gst_caps_copy (caps);
+ structure = gst_structure_copy (gst_caps_get_structure (ret, 0));
+
++ GST_OBJECT_LOCK (videoscale);
++ method = videoscale->method;
++ GST_OBJECT_UNLOCK (videoscale);
++
++ if (!gst_video_scale_transform_supported (videoscale, method, structure))
++ goto format_not_supported;
++
+ gst_structure_set (structure,
+ "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
+ "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL);
+@@ -452,9 +567,19 @@ gst_video_scale_transform_caps (GstBaseTransform * trans,
+ }
+ gst_caps_append_structure (ret, structure);
+
++done:
++
+ GST_DEBUG_OBJECT (trans, "returning caps: %" GST_PTR_FORMAT, ret);
+
+ return ret;
++
++format_not_supported:
++ {
++ gst_structure_free (structure);
++ gst_caps_unref (ret);
++ ret = gst_caps_new_empty ();
++ goto done;
++ }
+ }
+
+ static gboolean
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD b/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD
index e6a0dc3..4330aa4 100644
--- a/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD
+++ b/abs/extra/community/gstreamer0.10-ffmpeg/PKGBUILD
@@ -1,32 +1,32 @@
-# $Id: PKGBUILD 147131 2012-01-22 11:26:07Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gstreamer0.10-ffmpeg
pkgver=0.10.13
-pkgrel=1
+pkgrel=2
pkgdesc="Gstreamer FFMpeg Plugin"
arch=('i686' 'x86_64')
license=('GPL')
depends=('gstreamer0.10-base' 'bzip2')
-makedepends=('pkgconfig' 'yasm' 'sdl')
+makedepends=('pkgconfig' 'yasm' 'sdl' 'git' 'gtk-doc')
url="http://www.gstreamer.net"
groups=('gstreamer0.10-plugins')
-options=('!libtool')
-source=(http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-${pkgver}.tar.bz2 cmp_error.patch)
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-ffmpeg#commit=94e587b9182c6d2fde9a61c9def790c8047453c0")
+sha256sums=('SKIP')
build() {
- cd "${srcdir}/gst-ffmpeg-${pkgver}"
- patch -Np1 < $srcdir/cmp_error.patch
- unset CFLAGS
- unset CXXFLAGS
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --with-ffmpeg-extra-configure="--enable-runtime-cpudetect"
+ cd gst-ffmpeg
+ NOCONFIGURE=1 ./autogen.sh
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --enable-gtk-doc --with-ffmpeg-extra-configure="--enable-runtime-cpudetect"
make
}
-package() {
- cd "${srcdir}/gst-ffmpeg-${pkgver}"
+check() {
+ cd gst-ffmpeg
+ make check
+}
+package() {
+ cd gst-ffmpeg
make DESTDIR="${pkgdir}" install
}
-md5sums=('7f5beacaf1312db2db30a026b36888c4'
- 'eebcd022f3057c65fb3d0320831af6fe')
diff --git a/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch b/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch
deleted file mode 100644
index 602a57f..0000000
--- a/abs/extra/community/gstreamer0.10-ffmpeg/cmp_error.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-===================================================================
---- gst-ffmpeg-0.10.13.orig/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:39:41.324522051 -0700
-+++ gst-ffmpeg-0.10.13/gst-libs/ext/libav/libavcodec/x86/h264_qpel_mmx.c 2012-03-30 11:54:08.152564075 -0700
-@@ -398,7 +398,7 @@
- "2: \n\t"\
- \
- : "+a"(src), "+c"(dst)\
-- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
- : "memory"\
- );\
- src += 4-(h+5)*srcStride;\
-@@ -446,7 +446,7 @@
- QPEL_H264HV(%%mm3, %%mm4, %%mm5, %%mm0, %%mm1, %%mm2, 15*48)\
- "2: \n\t"\
- : "+a"(src)\
-- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)\
-+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)\
- : "memory"\
- );\
- tmp += 4;\
-@@ -823,7 +823,7 @@
- "2: \n\t"\
- \
- : "+a"(src), "+c"(dst)\
-- : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "g"(h)\
-+ : "S"((x86_reg)srcStride), "D"((x86_reg)dstStride), "rm"(h)\
- : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3", \
- "%xmm4", "%xmm5", "%xmm6", "%xmm7",)\
- "memory"\
-@@ -878,7 +878,7 @@
- QPEL_H264HV_XMM(%%xmm3, %%xmm4, %%xmm5, %%xmm0, %%xmm1, %%xmm2, 15*48)
- "2: \n\t"
- : "+a"(src)
-- : "c"(tmp), "S"((x86_reg)srcStride), "g"(size)
-+ : "c"(tmp), "S"((x86_reg)srcStride), "rm"(size)
- : XMM_CLOBBERS("%xmm0", "%xmm1", "%xmm2", "%xmm3",
- "%xmm4", "%xmm5", "%xmm6", "%xmm7",)
- "memory"
diff --git a/abs/extra/community/gstreamer0.10-good/PKGBUILD b/abs/extra/community/gstreamer0.10-good/PKGBUILD
index 1f3b841..c2b316a 100644
--- a/abs/extra/community/gstreamer0.10-good/PKGBUILD
+++ b/abs/extra/community/gstreamer0.10-good/PKGBUILD
@@ -1,29 +1,40 @@
-# $Id: PKGBUILD 153259 2012-03-12 16:05:31Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gstreamer0.10-good
pkgname=('gstreamer0.10-good' 'gstreamer0.10-good-plugins')
pkgver=0.10.31
-pkgrel=1
+pkgrel=6
arch=('i686' 'x86_64')
license=('LGPL')
-makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base>=0.10.34' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'udev')
+makedepends=('intltool' 'pkgconfig' 'gstreamer0.10-base' 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'bzip2' 'gdk-pixbuf2' 'git' 'cairo')
url="http://gstreamer.freedesktop.org/"
-options=(!libtool !emptydirs)
-source=(${url}/src/gst-plugins-good/gst-plugins-good-${pkgver}.tar.xz)
-sha256sums=('77a8436a7c0a15f876bad29616835046890df2bcaf72da02151bd91e3d292b64')
+options=(!emptydirs)
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gst-plugins-good#commit=e28fd8886f05bb51c147f871f3a1db2fc2b735a9"
+ test-rtp-payloading.patch)
+sha256sums=('SKIP'
+ 'c2f7f07f9bf5ca3afddc81d0a44665d2d54b1e9aea0ef1b25d219cf34bf7bb29')
+
+prepare() {
+ cd gst-plugins-good
-build() {
- cd "${srcdir}/gst-plugins-good-${pkgver}"
sed -i '/AC_PATH_XTRA/d' configure.ac
- autoreconf
+ sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' configure.ac
+
+ patch -p1 -i ../test-rtp-payloading.patch
+}
+
+build() {
+ cd gst-plugins-good
+ NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
--disable-static --enable-experimental \
--disable-schemas-install \
--disable-hal \
--disable-esd \
- --disable-pusle \
+ --disable-pulse \
--disable-jack \
+ --disable-gtk-doc \
--with-package-name="GStreamer Good Plugins (Archlinux)" \
--with-package-origin="http://www.archlinux.org/"
@@ -31,8 +42,8 @@ build() {
sed -e 's/gst sys ext/gst/' -i Makefile
}
-_check() {
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+check() {
+ cd gst-plugins-good
make check
}
@@ -40,20 +51,20 @@ package_gstreamer0.10-good() {
depends=('gstreamer0.10-base>=0.10.34' 'bzip2')
pkgdesc="GStreamer Multimedia Framework Good plugin libraries"
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
rm -rf "${pkgdir}/etc/gconf"
}
package_gstreamer0.10-good-plugins() {
- depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'udev')
+ depends=("gstreamer0.10-good=${pkgver}" 'libavc1394' 'libiec61883' 'aalib' 'libshout' 'libdv' 'flac' 'gconf' 'wavpack' 'taglib' 'libsoup-gnome' 'v4l-utils' 'libcaca' 'libpng' 'libjpeg' 'cairo' 'gdk-pixbuf2')
pkgdesc="GStreamer Multimedia Framework Good Plugins (gst-plugins-good)"
groups=('gstreamer0.10-plugins')
replaces=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
conflicts=('gstreamer0.10-aalib' 'gstreamer0.10-wavpack' 'gstreamer0.10-shout2' 'gstreamer0.10-taglib' 'gstreamer0.10-libcaca' 'gstreamer0.10-libpng' 'gstreamer0.10-jpeg' 'gstreamer0.10-cairo' 'gstreamer0.10-flac' 'gstreamer0.10-speex' 'gstreamer0.10-gdkpixbuf' 'gstreamer0.10-dv1394' 'gstreamer0.10-annodex' 'gstreamer0.10-gconf' 'gstreamer0.10-esd' 'gstreamer0.10-cdio' 'gstreamer0.10-dv' 'gstreamer0.10-bad-plugins<0.10.7' 'gstreamer0.10-soup' 'gstreamer0.10-pulse')
install=gstreamer0.10-good-plugins.install
- cd "${srcdir}/gst-plugins-good-${pkgver}"
+ cd gst-plugins-good
make -C sys DESTDIR="${pkgdir}" install
make -C ext GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
diff --git a/abs/extra/community/gstreamer0.10-good/__changelog b/abs/extra/community/gstreamer0.10-good/__changelog
new file mode 100644
index 0000000..387bdff
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-good/__changelog
@@ -0,0 +1 @@
+PKGBUILD: remove jack and libpulse dep and disable in configure
diff --git a/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch b/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch
new file mode 100644
index 0000000..e8a9431
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10-good/test-rtp-payloading.patch
@@ -0,0 +1,422 @@
+From dca42d4767adff3578e5d5990604766735ec1f9b Mon Sep 17 00:00:00 2001
+From: Tim-Philipp Müller <tim.muller@collabora.co.uk>
+Date: Fri, 10 Feb 2012 13:44:43 +0000
+Subject: tests: clean up rtp-payloading test a little
+
+Feed data into the pipeline using appsrc instead of fdsrc and
+a pipe. Store unsigned byte values in guint8 instead of char.
+Getting rid of the capsfilter also helps to avoid 'format is
+not fully specified' warnings when pushing "video/x-h264" data
+into rtph264pay with fully specified h264 caps in the sink template.
+---
+diff --git a/tests/check/elements/rtp-payloading.c b/tests/check/elements/rtp-payloading.c
+index b2160f4..7b4985b 100644
+--- a/tests/check/elements/rtp-payloading.c
++++ b/tests/check/elements/rtp-payloading.c
+@@ -31,13 +31,11 @@
+ typedef struct
+ {
+ GstElement *pipeline;
+- GstElement *fdsrc;
+- GstElement *capsfilter;
++ GstElement *appsrc;
+ GstElement *rtppay;
+ GstElement *rtpdepay;
+ GstElement *fakesink;
+- int fd[2];
+- const char *frame_data;
++ const guint8 *frame_data;
+ int frame_data_size;
+ int frame_count;
+ } rtp_pipeline;
+@@ -140,13 +138,11 @@ rtp_bus_callback (GstBus * bus, GstMessage * message, gpointer data)
+ * The user must free the RTP pipeline when it's not used anymore.
+ */
+ static rtp_pipeline *
+-rtp_pipeline_create (const char *frame_data, int frame_data_size,
++rtp_pipeline_create (const guint8 * frame_data, int frame_data_size,
+ int frame_count, const char *filtercaps, const char *pay, const char *depay)
+ {
+ gchar *pipeline_name;
+-
+ rtp_pipeline *p;
+-
+ GstCaps *caps;
+
+ /* Check parameters. */
+@@ -165,60 +161,39 @@ rtp_pipeline_create (const char *frame_data, int frame_data_size,
+ pipeline_name = g_strdup_printf ("%s-%s-pipeline", pay, depay);
+ p->pipeline = gst_pipeline_new (pipeline_name);
+ g_free (pipeline_name);
+- p->fdsrc = gst_element_factory_make ("fdsrc", NULL);
+- p->capsfilter = gst_element_factory_make ("capsfilter", NULL);
++ p->appsrc = gst_element_factory_make ("appsrc", NULL);
+ p->rtppay = gst_element_factory_make (pay, NULL);
+ p->rtpdepay = gst_element_factory_make (depay, NULL);
+ p->fakesink = gst_element_factory_make ("fakesink", NULL);
+
+ /* One or more elements are not created successfully or failed to create p? */
+- if (!p->pipeline || !p->fdsrc || !p->capsfilter || !p->rtppay || !p->rtpdepay
+- || !p->fakesink || pipe (p->fd) == -1) {
++ if (!p->pipeline || !p->appsrc || !p->rtppay || !p->rtpdepay || !p->fakesink) {
+ /* Release created elements. */
+ RELEASE_ELEMENT (p->pipeline);
+- RELEASE_ELEMENT (p->fdsrc);
+- RELEASE_ELEMENT (p->capsfilter);
++ RELEASE_ELEMENT (p->appsrc);
+ RELEASE_ELEMENT (p->rtppay);
+ RELEASE_ELEMENT (p->rtpdepay);
+ RELEASE_ELEMENT (p->fakesink);
+
+- /* Close pipe. */
+- if (p->fd[0]) {
+- close (p->fd[0]);
+- }
+-
+- if (p->fd[1]) {
+- close (p->fd[1]);
+- }
+-
+ /* Release allocated memory. */
+ free (p);
+
+ return NULL;
+ }
+
+- /* Set fdsrc properties. */
+- g_object_set (p->fdsrc, "fd", p->fd[0], NULL);
+- g_object_set (p->fdsrc, "do-timestamp", TRUE, NULL);
+- g_object_set (p->fdsrc, "blocksize", p->frame_data_size, NULL);
+- g_object_set (p->fdsrc, "num-buffers", p->frame_count * LOOP_COUNT, NULL);
+-
+- /* Set caps filters. */
++ /* Set src properties. */
+ caps = gst_caps_from_string (filtercaps);
+-
+- g_object_set (p->capsfilter, "caps", caps, NULL);
++ g_object_set (p->appsrc, "do-timestamp", TRUE, "caps", caps, NULL);
+ gst_caps_unref (caps);
+
+ /* Add elements to the pipeline. */
+- gst_bin_add (GST_BIN (p->pipeline), p->fdsrc);
+- gst_bin_add (GST_BIN (p->pipeline), p->capsfilter);
++ gst_bin_add (GST_BIN (p->pipeline), p->appsrc);
+ gst_bin_add (GST_BIN (p->pipeline), p->rtppay);
+ gst_bin_add (GST_BIN (p->pipeline), p->rtpdepay);
+ gst_bin_add (GST_BIN (p->pipeline), p->fakesink);
+
+ /* Link elements. */
+- gst_element_link (p->fdsrc, p->capsfilter);
+- gst_element_link (p->capsfilter, p->rtppay);
++ gst_element_link (p->appsrc, p->rtppay);
+ gst_element_link (p->rtppay, p->rtpdepay);
+ gst_element_link (p->rtpdepay, p->fakesink);
+
+@@ -240,15 +215,6 @@ rtp_pipeline_destroy (rtp_pipeline * p)
+ /* Release pipeline. */
+ RELEASE_ELEMENT (p->pipeline);
+
+- /* Close pipe. */
+- if (p->fd[0]) {
+- close (p->fd[0]);
+- }
+-
+- if (p->fd[1]) {
+- close (p->fd[1]);
+- }
+-
+ /* Release allocated memory. */
+ free (p);
+ }
+@@ -260,11 +226,10 @@ rtp_pipeline_destroy (rtp_pipeline * p)
+ static void
+ rtp_pipeline_run (rtp_pipeline * p)
+ {
++ GstFlowReturn flow_ret;
+ GMainLoop *mainloop = NULL;
+-
+ GstBus *bus;
+-
+- gint i;
++ gint i, j;
+
+ /* Check parameters. */
+ if (p == NULL) {
+@@ -286,22 +251,28 @@ rtp_pipeline_run (rtp_pipeline * p)
+ /* Set pipeline to PLAYING. */
+ gst_element_set_state (p->pipeline, GST_STATE_PLAYING);
+
+- /* TODO: Writing may need some changes... */
+-
++ /* Push data into the pipeline */
+ for (i = 0; i < LOOP_COUNT; i++) {
+- const char *frame_data_pointer = p->frame_data;
+- int res;
+- int frame_count = p->frame_count;
+-
+- /* Write in to the pipe. */
+- while (frame_count > 0) {
+- res = write (p->fd[1], frame_data_pointer, p->frame_data_size);
+- fail_unless_equals_int (res, p->frame_data_size);
+- frame_data_pointer += p->frame_data_size;
+- frame_count--;
++ const guint8 *data = p->frame_data;
++
++ for (j = 0; j < p->frame_count; j++) {
++ GstBuffer *buf;
++
++ buf = gst_buffer_new ();
++ GST_BUFFER_DATA (buf) = (guint8 *) data;
++ GST_BUFFER_SIZE (buf) = p->frame_data_size;
++ GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_READONLY);
++
++ g_signal_emit_by_name (p->appsrc, "push-buffer", buf, &flow_ret);
++ fail_unless_equals_int (flow_ret, GST_FLOW_OK);
++ data += p->frame_data_size;
++
++ gst_buffer_unref (buf);
+ }
+ }
+
++ g_signal_emit_by_name (p->appsrc, "end-of-stream", &flow_ret);
++
+ /* Run mainloop. */
+ g_main_loop_run (mainloop);
+
+@@ -350,8 +321,8 @@ rtp_pipeline_enable_lists (rtp_pipeline * p, guint mtu_size)
+ * @use_lists enable buffer lists
+ */
+ static void
+-rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count,
+- const char *filtercaps, const char *pay, const char *depay,
++rtp_pipeline_test (const guint8 * frame_data, int frame_data_size,
++ int frame_count, const char *filtercaps, const char *pay, const char *depay,
+ guint bytes_sent, guint mtu_size, gboolean use_lists)
+ {
+ /* Create RTP pipeline. */
+@@ -380,7 +351,7 @@ rtp_pipeline_test (const char *frame_data, int frame_data_size, int frame_count,
+ }
+ }
+
+-static char rtp_ilbc_frame_data[] =
++static const guint8 rtp_ilbc_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -397,7 +368,7 @@ GST_START_TEST (rtp_ilbc)
+ }
+
+ GST_END_TEST;
+-static char rtp_gsm_frame_data[] =
++static const guint8 rtp_gsm_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -414,7 +385,7 @@ GST_START_TEST (rtp_gsm)
+ }
+
+ GST_END_TEST;
+-static char rtp_amr_frame_data[] =
++static const guint8 rtp_amr_frame_data[] =
+ { 0x3c, 0x24, 0x03, 0xb3, 0x48, 0x10, 0x68, 0x46, 0x6c, 0xec, 0x03,
+ 0x7a, 0x37, 0x16, 0x41, 0x41, 0xc0, 0x00, 0x0d, 0xcd, 0x12, 0xed,
+ 0xad, 0x80, 0x00, 0x00, 0x11, 0x31, 0x00, 0x00, 0x0d, 0xa0
+@@ -432,7 +403,7 @@ GST_START_TEST (rtp_amr)
+ }
+
+ GST_END_TEST;
+-static char rtp_pcma_frame_data[] =
++static const guint8 rtp_pcma_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -449,7 +420,7 @@ GST_START_TEST (rtp_pcma)
+ }
+
+ GST_END_TEST;
+-static char rtp_pcmu_frame_data[] =
++static const guint8 rtp_pcmu_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -466,7 +437,7 @@ GST_START_TEST (rtp_pcmu)
+ }
+
+ GST_END_TEST;
+-static char rtp_mpa_frame_data[] =
++static const guint8 rtp_mpa_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -483,7 +454,7 @@ GST_START_TEST (rtp_mpa)
+ }
+
+ GST_END_TEST;
+-static char rtp_h263_frame_data[] =
++static const guint8 rtp_h263_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -495,12 +466,12 @@ static int rtp_h263_frame_count = 1;
+ GST_START_TEST (rtp_h263)
+ {
+ rtp_pipeline_test (rtp_h263_frame_data, rtp_h263_frame_data_size,
+- rtp_h263_frame_count, "video/x-h263,variant=itu,h263version=h263",
++ rtp_h263_frame_count, "video/x-h263,variant=(string)itu,h263version=h263",
+ "rtph263pay", "rtph263depay", 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h263p_frame_data[] =
++static const guint8 rtp_h263p_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -512,12 +483,12 @@ static int rtp_h263p_frame_count = 1;
+ GST_START_TEST (rtp_h263p)
+ {
+ rtp_pipeline_test (rtp_h263p_frame_data, rtp_h263p_frame_data_size,
+- rtp_h263p_frame_count, "video/x-h263,variant=itu", "rtph263ppay",
++ rtp_h263p_frame_count, "video/x-h263,variant=(string)itu", "rtph263ppay",
+ "rtph263pdepay", 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_frame_data[] =
++static const guint8 rtp_h264_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -528,13 +499,14 @@ static int rtp_h264_frame_count = 1;
+
+ GST_START_TEST (rtp_h264)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_frame_data, rtp_h264_frame_data_size,
+ rtp_h264_frame_count, "video/x-h264", "rtph264pay", "rtph264depay",
+ 0, 0, FALSE);
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_list_lt_mtu_frame_data[] =
++static const guint8 rtp_h264_list_lt_mtu_frame_data[] =
+ /* not packetized, next NAL starts with 0001 */
+ { 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+@@ -552,6 +524,7 @@ static int rtp_h264_list_lt_mtu_mtu_size = 1024;
+
+ GST_START_TEST (rtp_h264_list_lt_mtu)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_list_lt_mtu_frame_data,
+ rtp_h264_list_lt_mtu_frame_data_size, rtp_h264_list_lt_mtu_frame_count,
+ "video/x-h264", "rtph264pay", "rtph264depay",
+@@ -559,7 +532,7 @@ GST_START_TEST (rtp_h264_list_lt_mtu)
+ }
+
+ GST_END_TEST;
+-static char rtp_h264_list_gt_mtu_frame_data[] =
++static const guint8 rtp_h264_list_gt_mtu_frame_data[] =
+ /* not packetized, next NAL starts with 0001 */
+ { 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+@@ -580,6 +553,7 @@ static int rtp_h264_list_gt_mtu_mty_size = 28;
+
+ GST_START_TEST (rtp_h264_list_gt_mtu)
+ {
++ /* FIXME 0.11: fully specify h264 caps (and make payloader check) */
+ rtp_pipeline_test (rtp_h264_list_gt_mtu_frame_data,
+ rtp_h264_list_gt_mtu_frame_data_size, rtp_h264_list_gt_mtu_frame_count,
+ "video/x-h264", "rtph264pay", "rtph264depay",
+@@ -587,7 +561,7 @@ GST_START_TEST (rtp_h264_list_gt_mtu)
+ }
+
+ GST_END_TEST;
+-static char rtp_L16_frame_data[] =
++static const guint8 rtp_L16_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -605,7 +579,7 @@ GST_START_TEST (rtp_L16)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp2t_frame_data[] =
++static const guint8 rtp_mp2t_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -622,7 +596,7 @@ GST_START_TEST (rtp_mp2t)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4v_frame_data[] =
++static const guint8 rtp_mp4v_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -639,7 +613,7 @@ GST_START_TEST (rtp_mp4v)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4v_list_frame_data[] =
++static const guint8 rtp_mp4v_list_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -659,7 +633,7 @@ GST_START_TEST (rtp_mp4v_list)
+ }
+
+ GST_END_TEST;
+-static char rtp_mp4g_frame_data[] =
++static const guint8 rtp_mp4g_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -677,7 +651,7 @@ GST_START_TEST (rtp_mp4g)
+ }
+
+ GST_END_TEST;
+-static char rtp_theora_frame_data[] =
++static const guint8 rtp_theora_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -694,7 +668,7 @@ GST_START_TEST (rtp_theora)
+ }
+
+ GST_END_TEST;
+-static char rtp_vorbis_frame_data[] =
++static const guint8 rtp_vorbis_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+@@ -711,7 +685,7 @@ GST_START_TEST (rtp_vorbis)
+ }
+
+ GST_END_TEST;
+-static char rtp_jpeg_frame_data[] =
++static const guint8 rtp_jpeg_frame_data[] =
+ { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08,
+ 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08,
+ /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08,
+@@ -738,7 +712,7 @@ GST_START_TEST (rtp_jpeg)
+ }
+
+ GST_END_TEST;
+-static char rtp_jpeg_list_frame_data[] =
++static const guint8 rtp_jpeg_list_frame_data[] =
+ { /* SOF */ 0xFF, 0xC0, 0x00, 0x11, 0x08, 0x00, 0x08, 0x00, 0x08,
+ 0x03, 0x00, 0x21, 0x08, 0x01, 0x11, 0x08, 0x02, 0x11, 0x08,
+ /* DQT */ 0xFF, 0xDB, 0x00, 0x43, 0x08,
+@@ -767,7 +741,7 @@ GST_START_TEST (rtp_jpeg_list)
+ }
+
+ GST_END_TEST;
+-static char rtp_g729_frame_data[] =
++static const guint8 rtp_g729_frame_data[] =
+ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10-python/PKGBUILD b/abs/extra/community/gstreamer0.10-python/PKGBUILD
index 2af9448..f16d91f 100644
--- a/abs/extra/community/gstreamer0.10-python/PKGBUILD
+++ b/abs/extra/community/gstreamer0.10-python/PKGBUILD
@@ -1,16 +1,15 @@
-# $Id: PKGBUILD 147133 2012-01-22 11:30:42Z andyrtr $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gstreamer0.10-python
pkgver=0.10.22
-pkgrel=1
+pkgrel=2
pkgdesc="Python bindings for GStreamer 0.10"
arch=('i686' 'x86_64')
license=('LGPL')
url="http://gstreamer.freedesktop.org/"
depends=('pygobject>=2.20.0' 'gstreamer0.10-base>=0.10.32')
makedepends=('pkgconfig')
-options=('!libtool')
source=(http://gstreamer.freedesktop.org/src/gst-python/gst-python-${pkgver}.tar.bz2)
md5sums=('937152fe896241f827689f4b53e79b22')
diff --git a/abs/extra/community/gstreamer0.10/PKGBUILD b/abs/extra/community/gstreamer0.10/PKGBUILD
index 07299a4..d856335 100644
--- a/abs/extra/community/gstreamer0.10/PKGBUILD
+++ b/abs/extra/community/gstreamer0.10/PKGBUILD
@@ -1,36 +1,45 @@
-# $Id: PKGBUILD 153252 2012-03-12 14:53:39Z jgc $
+# $Id$
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgname=gstreamer0.10
pkgver=0.10.36
-pkgrel=1
+pkgrel=4
pkgdesc="GStreamer Multimedia Framework"
arch=('i686' 'x86_64')
license=('LGPL')
-url="http://gstreamer.freedesktop.org/"
+url="http://gstreamer.com"
depends=('libxml2' 'glib2')
-optdepends=('sh: feedback script')
-makedepends=('intltool' 'pkgconfig' 'gtk-doc' 'gobject-introspection')
-options=('!libtool')
-source=(${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz)
-md5sums=('15389c73e091b1dda915279c388b9cb2')
+makedepends=('intltool' 'pkgconfig' 'gobject-introspection' 'git')
+source=("git://anongit.freedesktop.org/gstreamer-sdk/gstreamer#commit=3ddc31eaa18c3be1613e43430eca78a3e445639e"
+ tests-remove-silly-test_fail_abstract_new-check.patch
+ bison3.patch)
+sha256sums=('SKIP'
+ 'd3d3f4f04453831fdb4244bfe174a38c4e6f9f4da5c8c9050dcfa1a6097aad52'
+ 'ed154e280abf59b24d98a8ab0fe868b449b26aa61f7ae3813fab8ac615fcaefa')
+prepare() {
+ cd gstreamer
+ patch -Np1 -i ../tests-remove-silly-test_fail_abstract_new-check.patch
+ patch -Np1 -i ../bison3.patch
+ sed -e 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/' -i configure.ac
+}
build() {
- cd "${srcdir}/gstreamer-${pkgver}"
+ cd gstreamer
+ NOCONFIGURE=1 ./autogen.sh
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libexecdir=/usr/lib \
--with-package-name="GStreamer (Archlinux)" \
--with-package-origin="http://www.archlinux.org/" \
- --enable-gtk-doc --disable-static
+ --disable-gtk-doc --disable-static
make
}
check() {
- cd "${srcdir}/gstreamer-${pkgver}"
+ cd gstreamer
make check
}
package() {
- cd "${srcdir}/gstreamer-${pkgver}"
+ cd gstreamer
make DESTDIR="${pkgdir}" install
#Remove unversioned gst-* binaries to get rid of conflicts
diff --git a/abs/extra/community/gstreamer0.10/bison3.patch b/abs/extra/community/gstreamer0.10/bison3.patch
new file mode 100644
index 0000000..4f4f521
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10/bison3.patch
@@ -0,0 +1,31 @@
+From bd2a01cfe222367493a71f3269f12250c8972db0 Mon Sep 17 00:00:00 2001
+From: Kerrick Staley <kerrick@kerrickstaley.com>
+Date: Wed, 21 Aug 2013 06:59:29 +0000
+Subject: parse: make grammar.y work with Bison 3
+
+YYLEX_PARAM is no longer supported in Bison 3.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=706462
+---
+diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
+index 8a9019c..f533389 100644
+--- a/gst/parse/grammar.y
++++ b/gst/parse/grammar.y
+@@ -26,7 +26,6 @@
+ */
+
+ #define YYERROR_VERBOSE 1
+-#define YYLEX_PARAM scanner
+
+ #define YYENABLE_NLS 0
+
+@@ -659,6 +658,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
+ %right '.'
+ %left '!' '='
+
++%lex-param { void *scanner }
+ %parse-param { void *scanner }
+ %parse-param { graph_t *graph }
+ %pure-parser
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch b/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch
new file mode 100644
index 0000000..7524e8f
--- /dev/null
+++ b/abs/extra/community/gstreamer0.10/tests-remove-silly-test_fail_abstract_new-check.patch
@@ -0,0 +1,60 @@
+From 5bff3ba949d2ac0a9946c1240e6d4a5bb53fda99 Mon Sep 17 00:00:00 2001
+From: Tim-Philipp Müller <tim.muller@collabora.co.uk>
+Date: Wed, 08 Aug 2012 13:49:23 +0000
+Subject: tests: remove silly test_fail_abstract_new check
+
+Our check would make sure that GLib segfaults when
+someone tries to instantiate an abstract type, which
+is an extremely useful thing to check for.
+
+In newer GLibs this is fixed and we get an abort with
+a g_error() now it seems, so let's just remove this
+check entirely.
+---
+(limited to 'tests/check/gst/gstobject.c')
+
+diff --git a/tests/check/gst/gstobject.c b/tests/check/gst/gstobject.c
+index 6f7ccb8..ce2ed3e 100644
+--- a/tests/check/gst/gstobject.c
++++ b/tests/check/gst/gstobject.c
+@@ -72,19 +72,6 @@ gst_fake_object_get_type (void)
+ return fake_object_type;
+ }
+
+-#ifndef HAVE_OSX
+-/* g_object_new on abstract GstObject should fail */
+-GST_START_TEST (test_fail_abstract_new)
+-{
+- GstObject *object;
+-
+- ASSERT_CRITICAL (object = g_object_new (gst_object_get_type (), NULL));
+- fail_unless (object == NULL, "Created an instance of abstract GstObject");
+-}
+-
+-GST_END_TEST;
+-#endif
+-
+ /* g_object_new on GstFakeObject should succeed */
+ GST_START_TEST (test_fake_object_new)
+ {
+@@ -529,18 +516,6 @@ gst_object_suite (void)
+ tcase_add_test (tc_chain, test_fake_object_has_ancestor);
+ //tcase_add_checked_fixture (tc_chain, setup, teardown);
+
+- /* FIXME: GLib shouldn't crash here, but issue a warning and return a NULL
+- * object, or at least g_error() and then abort properly ... (tpm) */
+-#ifndef HAVE_OSX
+- /* Disabled for OS/X because a) it's a pretty silly test anyway and
+- * b) different OS/X versions raise different signals and it isn't worth
+- * the effort to try and detect which one should be producing which
+- */
+- /* SEGV tests go last so we can debug the others */
+- if (g_getenv ("CK_FORK") == NULL || strcmp (g_getenv ("CK_FORK"), "no") != 0)
+- tcase_add_test_raise_signal (tc_chain, test_fail_abstract_new, SIGSEGV);
+-#endif
+-
+ return s;
+ }
+
+--
+cgit v0.9.0.2-2-gbebe