diff options
Diffstat (limited to 'abs/extra/community')
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 |