summaryrefslogtreecommitdiff
path: root/extra/gstreamer0.10-base
diff options
context:
space:
mode:
Diffstat (limited to 'extra/gstreamer0.10-base')
-rw-r--r--extra/gstreamer0.10-base/PKGBUILD20
-rw-r--r--extra/gstreamer0.10-base/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch22
-rw-r--r--extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch21
3 files changed, 57 insertions, 6 deletions
diff --git a/extra/gstreamer0.10-base/PKGBUILD b/extra/gstreamer0.10-base/PKGBUILD
index 093203eb2..d88467e7b 100644
--- a/extra/gstreamer0.10-base/PKGBUILD
+++ b/extra/gstreamer0.10-base/PKGBUILD
@@ -1,20 +1,28 @@
-# $Id: PKGBUILD 124029 2011-05-16 08:07:30Z jgc $
+# $Id: PKGBUILD 135097 2011-08-10 09:35:11Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=('gstreamer0.10-base')
pkgname=('gstreamer0.10-base' 'gstreamer0.10-base-plugins')
-pkgver=0.10.34
+pkgver=0.10.35
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
license=('LGPL')
-makedepends=('pkgconfig' 'gstreamer0.10>=0.10.34' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection')
+makedepends=('pkgconfig' 'gstreamer0.10>=0.10.35' 'orc' 'libxv' 'alsa-lib' 'cdparanoia' 'libvisual' 'libvorbis' 'libtheora' 'pango' 'gobject-introspection')
options=(!libtool !emptydirs)
url="http://gstreamer.freedesktop.org/"
-source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2)
-sha256sums=('7f347a60cd4317c7ea44c23e52d6e6233d2fa278b3fe3df7cbefe2bc2e253989')
+source=(${url}/src/gst-plugins-base/gst-plugins-base-${pkgver}.tar.bz2
+ oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
+ theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch)
+sha256sums=('cd24f01bb5258a1f400bc4f2c212bb7cee9ee23c9ffb80d537a24ef366d17103'
+ '2e9d001dbe0ed598c8e86b0081c6ecdf28a1a6b45ffafc639f5cf52fdf0d467f'
+ '8da16aed8c098251903208cc7ac233b7a9df3f024f78c6970e71f3c2e2bdaa17')
build() {
cd "${srcdir}/gst-plugins-base-${pkgver}"
+
+ patch -Np1 -i "${srcdir}/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch"
+ patch -Np1 -i "${srcdir}/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch"
+
sed -i '/AC_PATH_XTRA/d' configure.ac
autoreconf
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
@@ -28,7 +36,7 @@ build() {
package_gstreamer0.10-base() {
pkgdesc="GStreamer Multimedia Framework Base plugin libraries"
- depends=('gstreamer0.10>=0.10.34' 'orc' 'libxv')
+ depends=('gstreamer0.10>=0.10.35' 'orc' 'libxv')
cd "${srcdir}/gst-plugins-base-${pkgver}"
make DESTDIR="${pkgdir}" install
diff --git a/extra/gstreamer0.10-base/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch b/extra/gstreamer0.10-base/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
new file mode 100644
index 000000000..8ba4c8ed3
--- /dev/null
+++ b/extra/gstreamer0.10-base/oggstream-fix-crashes-with-0-byte-vorbis-packets.patch
@@ -0,0 +1,22 @@
+From 8bd3bdaf3768b3fb6adc85b3bc681fdce07b786e Mon Sep 17 00:00:00 2001
+From: Jonathan Liu <net147@gmail.com>
+Date: Wed, 03 Aug 2011 08:18:29 +0000
+Subject: oggstream: Fix crashes with 0-byte vorbis packets
+
+Fixes bug #655574.
+---
+diff --git a/ext/ogg/gstoggstream.c b/ext/ogg/gstoggstream.c
+index e843f48..77f39d4 100644
+--- a/ext/ogg/gstoggstream.c
++++ b/ext/ogg/gstoggstream.c
+@@ -792,7 +792,7 @@ packet_duration_vorbis (GstOggStream * pad, ogg_packet * packet)
+ int size;
+ int duration;
+
+- if (packet->packet[0] & 1)
++ if (packet->bytes == 0 || packet->packet[0] & 1)
+ return 0;
+
+ mode = (packet->packet[0] >> 1) & ((1 << pad->vorbis_log2_num_modes) - 1);
+--
+cgit v0.8.3-6-g21f6
diff --git a/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch b/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
new file mode 100644
index 000000000..b9883d407
--- /dev/null
+++ b/extra/gstreamer0.10-base/theoradec-segfault-on-0-byte-ogg_packet-in-_chain_reverse.patch
@@ -0,0 +1,21 @@
+From 7d22d91fca6b9f24ca205eef98031f1ed6a44d33 Mon Sep 17 00:00:00 2001
+From: Philip Jägenstedt <philipj@opera.com>
+Date: Tue, 26 Jul 2011 14:10:17 +0000
+Subject: theoradec: segfault on 0-byte ogg_packet in _chain_reverse
+
+---
+diff --git a/ext/theora/gsttheoradec.c b/ext/theora/gsttheoradec.c
+index 96e12ee..25d68db 100644
+--- a/ext/theora/gsttheoradec.c
++++ b/ext/theora/gsttheoradec.c
+@@ -1440,7 +1440,7 @@ theora_dec_chain_reverse (GstTheoraDec * dec, gboolean discont, GstBuffer * buf)
+
+ /* if we copied a keyframe, flush and decode the decode queue */
+ data = GST_BUFFER_DATA (gbuf);
+- if ((data[0] & 0x40) == 0) {
++ if (data && (data[0] & 0x40) == 0) {
+ GST_DEBUG_OBJECT (dec, "copied keyframe");
+ res = theora_dec_flush_decode (dec);
+ }
+--
+cgit v0.8.3-6-g21f6