summaryrefslogtreecommitdiff
path: root/extra/farstream-0.1
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-04-03 03:33:25 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-04-03 03:33:25 +0000
commit86953d17fbdfc3b8b89878f1ec5f911568657761 (patch)
treed834021be55372f5c1856313c775edffc414d3d3 /extra/farstream-0.1
parentc667b77b6719baf541fff1a3e0a855d1ca7c6433 (diff)
Thu Apr 3 03:29:12 UTC 2014
Diffstat (limited to 'extra/farstream-0.1')
-rw-r--r--extra/farstream-0.1/PKGBUILD32
-rw-r--r--extra/farstream-0.1/fix-crash.patch24
-rw-r--r--extra/farstream-0.1/intersect-instead-of-merge.patch26
3 files changed, 71 insertions, 11 deletions
diff --git a/extra/farstream-0.1/PKGBUILD b/extra/farstream-0.1/PKGBUILD
index 4a33f5b39..401580d9b 100644
--- a/extra/farstream-0.1/PKGBUILD
+++ b/extra/farstream-0.1/PKGBUILD
@@ -1,31 +1,45 @@
-# $Id: PKGBUILD 201487 2013-12-12 18:59:01Z jgc $
+# $Id: PKGBUILD 209757 2014-04-02 21:38:07Z jgc $
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
# Contributor: Ionut Biru <ibiru@archlinux.org>
pkgname=farstream-0.1
_pkgname=farstream
pkgver=0.1.2
-pkgrel=3
+pkgrel=4
pkgdesc="Audio/Video Communications Framework (legacy version)"
arch=('i686' 'x86_64')
url="http://www.freedesktop.org/wiki/Software/Farstream"
license=('LGPL2.1')
-depends=('libnice' 'gstreamer0.10-base' 'gstreamer0.10-bad-plugins'
- 'gstreamer0.10-good' 'gstreamer0.10-ffmpeg')
+depends=('libnice' 'gstreamer0.10-base' 'gstreamer0.10-bad-plugins' 'gstreamer0.10-good-plugins' 'gstreamer0.10-ffmpeg')
makedepends=('gobject-introspection' 'gstreamer0.10-python' 'python2-gobject2' 'git' 'gtk-doc')
source=(git://git.collabora.co.uk/git/farstream.git#commit=54e28e95bed4f04bc95dae509c3724399c79fa29
farstream-0.1.2-prefer-vp8.patch
codec-discovery-intersect.patch
- rtp-memleak.patch)
-sha256sums=('SKIP')
+ intersect-instead-of-merge.patch
+ rtp-memleak.patch
+ fix-crash.patch)
+sha256sums=('SKIP'
+ '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
+ '385d7c72e269bf48bd41937442d819a1e6d0f2472b903670a8a5555f5cb96586'
+ 'c3988f90fc50ee557399b240de78f3fb4fe191f339143f6943b963c2e0fddaf2'
+ 'b966312ccad90dd30b78ee2df49e9637b3b573e498668bcc58ac208f254440db'
+ '8fde8f5fb16475aabeda2d6e48c86b105341fd72cde02cd6655ca7f41b4a98ed')
prepare() {
cd farstream
patch -Np1 -i ../farstream-0.1.2-prefer-vp8.patch
+ patch -Np1 -i ../intersect-instead-of-merge.patch
patch -Np1 -i ../codec-discovery-intersect.patch
patch -Np1 -i ../rtp-memleak.patch
+ patch -Np1 -i ../fix-crash.patch
+ sed -i -e 's/AC_INIT(Farstream, 0.1.2.1/AC_INIT(Farstream, 0.1.2/' configure.ac
}
+check() {
+ cd farstream
+ # MSN test fails because of missing libmimic + mimenc element
+ make check || return 0
+}
build() {
cd farstream
NOCONFIGURE=1 ./autogen.sh
@@ -33,7 +47,7 @@ build() {
--prefix=/usr \
--with-package-name='Arch Linux Farstream 0.1 Package' \
--with-package-origin='httpw://www.archlinux.org/' \
- --enable-gtk-doc --disable-static
+ --disable-gtk-doc --disable-static
make -j1
}
@@ -43,7 +57,3 @@ package() {
}
# vim:set ts=2 sw=2 et:
-sha256sums=('SKIP'
- '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
- '385d7c72e269bf48bd41937442d819a1e6d0f2472b903670a8a5555f5cb96586'
- 'b966312ccad90dd30b78ee2df49e9637b3b573e498668bcc58ac208f254440db')
diff --git a/extra/farstream-0.1/fix-crash.patch b/extra/farstream-0.1/fix-crash.patch
new file mode 100644
index 000000000..ac411f15a
--- /dev/null
+++ b/extra/farstream-0.1/fix-crash.patch
@@ -0,0 +1,24 @@
+From e349a7db681b643beaf8174a32b071292abd980e Mon Sep 17 00:00:00 2001
+From: Olivier Crête <olivier.crete@collabora.com>
+Date: Thu, 27 Feb 2014 23:00:13 +0000
+Subject: raw: Fix crash where the stream would try to contact its session before its been set
+
+---
+(limited to 'gst/fsrawconference')
+
+diff --git a/gst/fsrawconference/fs-raw-stream.c b/gst/fsrawconference/fs-raw-stream.c
+index fe5326b..eb8db74 100644
+--- a/gst/fsrawconference/fs-raw-stream.c
++++ b/gst/fsrawconference/fs-raw-stream.c
+@@ -436,7 +436,8 @@ fs_raw_stream_set_property (GObject *object,
+ (direction & FS_DIRECTION_SEND) ? TRUE : FALSE, NULL);
+ g_object_unref (st);
+ }
+- fs_raw_session_update_direction (self->priv->session, direction);
++ if (self->priv->session)
++ fs_raw_session_update_direction (self->priv->session, direction);
+ if (conference)
+ GST_OBJECT_LOCK (conference);
+ }
+--
+cgit v0.9.0.3
diff --git a/extra/farstream-0.1/intersect-instead-of-merge.patch b/extra/farstream-0.1/intersect-instead-of-merge.patch
new file mode 100644
index 000000000..734e15383
--- /dev/null
+++ b/extra/farstream-0.1/intersect-instead-of-merge.patch
@@ -0,0 +1,26 @@
+diff --git a/gst/fsrtpconference/fs-rtp-discover-codecs.c b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+index d128e84..3521580 100644
+--- a/gst/fsrtpconference/fs-rtp-discover-codecs.c
++++ b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+@@ -1110,11 +1110,8 @@ compare_media_caps (gconstpointer a, gconstpointer b)
+ }
+
+ static gint
+-compare_rtp_caps (gconstpointer a, gconstpointer b)
++compare_rtp_caps (CodecCap *element, GstCaps *c_caps)
+ {
+- CodecCap *element = (CodecCap *)a;
+- GstCaps *c_caps = (GstCaps *)b;
+-
+ return !gst_caps_can_intersect (element->rtp_caps, c_caps);
+ }
+
+@@ -1226,7 +1223,7 @@ create_codec_cap_list (GstElementFactory *factory,
+ if (rtp_caps) {
+ if (entry->rtp_caps) {
+ GstCaps *new_rtp_caps;
+- new_rtp_caps = gst_caps_union (rtp_caps, entry->rtp_caps);
++ new_rtp_caps = gst_caps_intersect (rtp_caps, entry->rtp_caps);
+ gst_caps_unref (entry->rtp_caps);
+ entry->rtp_caps = new_rtp_caps;
+ } else {