[arch-commits] Commit in farstream-0.1/repos (14 files)

Jan de Groot jgc at nymeria.archlinux.org
Thu Dec 12 18:59:01 UTC 2013


    Date: Thursday, December 12, 2013 @ 19:59:01
  Author: jgc
Revision: 201487

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  farstream-0.1/repos/extra-i686/PKGBUILD
    (from rev 201486, farstream-0.1/trunk/PKGBUILD)
  farstream-0.1/repos/extra-i686/codec-discovery-intersect.patch
    (from rev 201486, farstream-0.1/trunk/codec-discovery-intersect.patch)
  farstream-0.1/repos/extra-i686/farstream-0.1.2-prefer-vp8.patch
    (from rev 201486, farstream-0.1/trunk/farstream-0.1.2-prefer-vp8.patch)
  farstream-0.1/repos/extra-i686/rtp-memleak.patch
    (from rev 201486, farstream-0.1/trunk/rtp-memleak.patch)
  farstream-0.1/repos/extra-x86_64/PKGBUILD
    (from rev 201486, farstream-0.1/trunk/PKGBUILD)
  farstream-0.1/repos/extra-x86_64/codec-discovery-intersect.patch
    (from rev 201486, farstream-0.1/trunk/codec-discovery-intersect.patch)
  farstream-0.1/repos/extra-x86_64/farstream-0.1.2-prefer-vp8.patch
    (from rev 201486, farstream-0.1/trunk/farstream-0.1.2-prefer-vp8.patch)
  farstream-0.1/repos/extra-x86_64/rtp-memleak.patch
    (from rev 201486, farstream-0.1/trunk/rtp-memleak.patch)
Deleted:
  farstream-0.1/repos/extra-i686/PKGBUILD
  farstream-0.1/repos/extra-i686/farstream-0.1.2-introspection-tag-order.patch
  farstream-0.1/repos/extra-i686/farstream-0.1.2-prefer-vp8.patch
  farstream-0.1/repos/extra-x86_64/PKGBUILD
  farstream-0.1/repos/extra-x86_64/farstream-0.1.2-introspection-tag-order.patch
  farstream-0.1/repos/extra-x86_64/farstream-0.1.2-prefer-vp8.patch

------------------------------------------------------------+
 /PKGBUILD                                                  |   98 ++++++++
 /farstream-0.1.2-prefer-vp8.patch                          |   24 ++
 extra-i686/PKGBUILD                                        |   43 ---
 extra-i686/codec-discovery-intersect.patch                 |   72 ++++++
 extra-i686/farstream-0.1.2-introspection-tag-order.patch   |  132 -----------
 extra-i686/farstream-0.1.2-prefer-vp8.patch                |   12 -
 extra-i686/rtp-memleak.patch                               |   24 ++
 extra-x86_64/PKGBUILD                                      |   43 ---
 extra-x86_64/codec-discovery-intersect.patch               |   72 ++++++
 extra-x86_64/farstream-0.1.2-introspection-tag-order.patch |  132 -----------
 extra-x86_64/farstream-0.1.2-prefer-vp8.patch              |   12 -
 extra-x86_64/rtp-memleak.patch                             |   24 ++
 12 files changed, 314 insertions(+), 374 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-i686/PKGBUILD	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,43 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Ionut Biru <ibiru at archlinux.org>
-
-pkgname=farstream-0.1
-_pkgname=farstream
-pkgver=0.1.2
-pkgrel=2
-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')
-makedepends=('gobject-introspection' 'gstreamer0.10-python' 'python2-gobject2')
-source=(http://freedesktop.org/software/$_pkgname/releases/$_pkgname/$_pkgname-$pkgver.tar.gz
-        farstream-0.1.2-prefer-vp8.patch
-        farstream-0.1.2-introspection-tag-order.patch)
-sha256sums=('fa5a40597b47b59d124f7fd57f66704b030d576cdc0d90e107c7a592f05e73d9'
-            '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
-            'f540ea6f239e291f9ffc5b806cfea9f9cd0c4f13963e900719a5ee3a3f370124')
-
-build() {
-  cd "$_pkgname-$pkgver"
-
-  patch -Np1 -i "$srcdir/farstream-0.1.2-prefer-vp8.patch"
-  patch -Np1 -i "$srcdir/farstream-0.1.2-introspection-tag-order.patch"
-
-  ./configure \
-    --prefix=/usr \
-    --with-package-name='Arch Linux Farstream 0.1 Package' \
-    --with-package-origin='httpw://www.archlinux.org/' \
-    --disable-static
-  make
-}
-
-package() {
-  cd "$_pkgname-$pkgver"
-
-  make DESTDIR="$pkgdir" install
-}
-
-# vim:set ts=2 sw=2 et:

Copied: farstream-0.1/repos/extra-i686/PKGBUILD (from rev 201486, farstream-0.1/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+
+pkgname=farstream-0.1
+_pkgname=farstream
+pkgver=0.1.2
+pkgrel=3
+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')
+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')
+
+prepare() {
+  cd farstream
+  patch -Np1 -i ../farstream-0.1.2-prefer-vp8.patch
+  patch -Np1 -i ../codec-discovery-intersect.patch
+  patch -Np1 -i ../rtp-memleak.patch
+}
+
+build() {
+  cd farstream
+  NOCONFIGURE=1 ./autogen.sh
+  ./configure \
+    --prefix=/usr \
+    --with-package-name='Arch Linux Farstream 0.1 Package' \
+    --with-package-origin='httpw://www.archlinux.org/' \
+    --enable-gtk-doc --disable-static
+  make -j1
+}
+
+package() {
+  cd farstream
+  make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
+sha256sums=('SKIP'
+            '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
+            '385d7c72e269bf48bd41937442d819a1e6d0f2472b903670a8a5555f5cb96586'
+            'b966312ccad90dd30b78ee2df49e9637b3b573e498668bcc58ac208f254440db')

Copied: farstream-0.1/repos/extra-i686/codec-discovery-intersect.patch (from rev 201486, farstream-0.1/trunk/codec-discovery-intersect.patch)
===================================================================
--- extra-i686/codec-discovery-intersect.patch	                        (rev 0)
+++ extra-i686/codec-discovery-intersect.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,72 @@
+From 50fffb08d941dce58ae48bf531faead8a4e22ed7 Mon Sep 17 00:00:00 2001
+From: Olivier Crête <olivier.crete at collabora.com>
+Date: Tue, 02 Apr 2013 23:13:06 +0000
+Subject: codec-discovery: Intersect different parts of the same caps to reduce them
+
+We do this because a caps may have the static payload in a separate structure from the encoding-name
+We just want both in the same structure
+---
+diff --git a/gst/fsrtpconference/fs-rtp-discover-codecs.c b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+index 5530cc8..df316a4 100644
+--- a/gst/fsrtpconference/fs-rtp-discover-codecs.c
++++ b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+@@ -384,7 +384,6 @@ validate_h263_codecs (CodecCap *codec_cap)
+   if (!rtp_struct)
+     return FALSE;
+ 
+-  /* If there no h263version, we accept everything */
+   encoding_name = gst_structure_get_string (rtp_struct, "encoding-name");
+ 
+   /* If there is no encoding name, we have a problem, lets refuse it */
+@@ -1300,15 +1299,44 @@ get_plugins_filtered_from_caps (FilterFunc filter,
+     else
+     {
+       gint i;
+-      for (i = 0; i < gst_caps_get_size (matched_caps); i++)
++      GPtrArray *capslist = g_ptr_array_new_with_free_func (
++        (GDestroyNotify) gst_caps_unref);
++
++      while (gst_caps_get_size (matched_caps) > 0)
+       {
+-        GstCaps *cur_caps =
+-            gst_caps_copy_nth (matched_caps, i);
++        GstCaps *stolencaps = gst_caps_new_full (
++          gst_caps_steal_structure (matched_caps, 0), NULL);
++        gboolean got_match = FALSE;
++
++        for (i = 0; i < capslist->len; i++)
++        {
++          GstCaps *intersect = gst_caps_intersect (stolencaps,
++              g_ptr_array_index (capslist, i));
++
++          if (gst_caps_is_empty (intersect))
++          {
++            gst_caps_unref (intersect);
++          }
++          else
++          {
++            got_match = TRUE;
++            gst_caps_unref (g_ptr_array_index (capslist, i));
++            g_ptr_array_index (capslist, i) = intersect;
++          }
++        }
++
++        if (got_match)
++          gst_caps_unref (stolencaps);
++        else
++          g_ptr_array_add (capslist, stolencaps);
+ 
+-        list = create_codec_cap_list (factory, direction, list, cur_caps);
+-        gst_caps_unref (cur_caps);
+       }
+       gst_caps_unref (matched_caps);
++
++      for (i = 0; i < capslist->len; i++)
++        list = create_codec_cap_list (factory, direction, list,
++            g_ptr_array_index (capslist, i));
++      g_ptr_array_unref (capslist);
+     }
+   }
+ 
+--
+cgit v0.9.0.3

Deleted: extra-i686/farstream-0.1.2-introspection-tag-order.patch
===================================================================
--- extra-i686/farstream-0.1.2-introspection-tag-order.patch	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-i686/farstream-0.1.2-introspection-tag-order.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,132 +0,0 @@
-From 39450457190675716c8e66700e35b05334a6a1a0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= <olivier.crete at collabora.com>
-Date: Fri, 25 May 2012 17:06:59 -0400
-Subject: [PATCH] Gtk-doc tags belong after the description
-
----
- farstream/fs-session.c |   16 +++++++---------
- farstream/fs-stream.c  |   15 ++++++---------
- 2 files changed, 13 insertions(+), 18 deletions(-)
-
-diff --git a/farstream/fs-session.c b/farstream/fs-session.c
-index 80794d1..abb1bc3 100644
---- a/farstream/fs-session.c
-+++ b/farstream/fs-session.c
-@@ -270,9 +270,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codec-preferences:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the current preferences list for the local codecs. It is
-    * set by the user to specify the codec options and priorities. The user may
-    * change its value with fs_session_set_codec_preferences() at any time
-@@ -283,6 +280,9 @@ fs_session_class_init (FsSessionClass *klass)
-    * or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
-    * payload type of the codec will be "reserved" and not be used by any
-    * dynamically assigned payload type.
-+   *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODEC_PREFERENCES,
-@@ -296,9 +296,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of codecs used for this session. It will include the
-    * codecs and payload type used to receive media on this session. It will
-    * also include any configuration parameter that must be transmitted reliably
-@@ -317,6 +314,8 @@ fs_session_class_init (FsSessionClass *klass)
-    * It is a #GList of #FsCodec. User must free this codec list using
-    * fs_codec_list_destroy() when done.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODECS,
-@@ -329,9 +328,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codecs-without-config:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the same list of codecs as #FsSession:codecs without
-    * the configuration information that describes the data sent. It is suitable
-    * for configurations where a list of codecs is shared by many senders.
-@@ -349,6 +345,8 @@ fs_session_class_init (FsSessionClass *klass)
-    * It is a #GList of #FsCodec. User must free this codec list using
-    * fs_codec_list_destroy() when done.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODECS_WITHOUT_CONFIG,
-diff --git a/farstream/fs-stream.c b/farstream/fs-stream.c
-index b9e1320..110641d 100644
---- a/farstream/fs-stream.c
-+++ b/farstream/fs-stream.c
-@@ -176,13 +176,12 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:remote-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of remote codecs for this stream. They must be set by the
-    * user as soon as they are known using fs_stream_set_remote_codecs()
-    * (generally through external signaling). It is a #GList of #FsCodec.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_REMOTE_CODECS,
-@@ -195,15 +194,14 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:negotiated-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of negotiatied codecs, it is the same list as the list
-    * of #FsCodec from the parent #FsSession, except that the codec config data
-    * has been replaced with the data from the remote codecs for this stream.
-    * This is the list of #FsCodec used to receive data from this stream.
-    * It is a #GList of #FsCodec.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_NEGOTIATED_CODECS,
-@@ -216,9 +214,6 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:current-recv-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of codecs that have been received by this stream.
-    * The user must free the list if fs_codec_list_destroy().
-    * The "farstream-recv-codecs-changed" message is send on the #GstBus
-@@ -228,6 +223,8 @@ fs_stream_class_init (FsStreamClass *klass)
-    * also be emitted if the pad already exists, but the source material that
-    * will come to it is different.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CURRENT_RECV_CODECS,
--- 
-1.7.8.6
-

Deleted: extra-i686/farstream-0.1.2-prefer-vp8.patch
===================================================================
--- extra-i686/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-i686/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,12 +0,0 @@
-diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences
---- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences	2012-03-20 12:12:22.644324485 +0100
-+++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences	2012-03-21 09:32:04.468634455 +0100
-@@ -41,6 +41,8 @@ feedback:nack/pli=
- [video/H263]
- feedback:nack/pli=
- 
-+[video/VP8-DRAFT-IETF-01]
-+
- [video/THEORA]
- #feedback:tfrc=
- feedback:nack/pli=

Copied: farstream-0.1/repos/extra-i686/farstream-0.1.2-prefer-vp8.patch (from rev 201486, farstream-0.1/trunk/farstream-0.1.2-prefer-vp8.patch)
===================================================================
--- extra-i686/farstream-0.1.2-prefer-vp8.patch	                        (rev 0)
+++ extra-i686/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,12 @@
+diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences
+--- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences	2012-03-20 12:12:22.644324485 +0100
++++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences	2012-03-21 09:32:04.468634455 +0100
+@@ -41,6 +41,8 @@ feedback:nack/pli=
+ [video/H263]
+ feedback:nack/pli=
+ 
++[video/VP8-DRAFT-IETF-01]
++
+ [video/THEORA]
+ #feedback:tfrc=
+ feedback:nack/pli=

Copied: farstream-0.1/repos/extra-i686/rtp-memleak.patch (from rev 201486, farstream-0.1/trunk/rtp-memleak.patch)
===================================================================
--- extra-i686/rtp-memleak.patch	                        (rev 0)
+++ extra-i686/rtp-memleak.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,24 @@
+From 10b3d38560ec53d980d13240559e6758c1113e21 Mon Sep 17 00:00:00 2001
+From: Havard Graff <havard.graff at gmail.com>
+Date: Thu, 21 Mar 2013 12:46:11 +0000
+Subject: fs-rtp-discover-codecs: plug memoryleak
+
+use g_list_delete_link to free the list as well
+---
+(limited to 'gst/fsrtpconference')
+
+diff --git a/gst/fsrtpconference/fs-rtp-discover-codecs.c b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+index df316a4..c663225 100644
+--- a/gst/fsrtpconference/fs-rtp-discover-codecs.c
++++ b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+@@ -536,7 +536,7 @@ remove_duplicates (GList *list)
+       if (gst_caps_is_equal (codec_cap1->rtp_caps, codec_cap2->rtp_caps))
+       {
+         codec_cap_free (codec_cap2);
+-        walk1 = g_list_remove_link (walk1, walk2);
++        walk1 = g_list_delete_link (walk1, walk2);
+         goto again;
+       }
+     }
+--
+cgit v0.9.0.3

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-x86_64/PKGBUILD	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,43 +0,0 @@
-# $Id$
-# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
-# Contributor: Ionut Biru <ibiru at archlinux.org>
-
-pkgname=farstream-0.1
-_pkgname=farstream
-pkgver=0.1.2
-pkgrel=2
-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')
-makedepends=('gobject-introspection' 'gstreamer0.10-python' 'python2-gobject2')
-source=(http://freedesktop.org/software/$_pkgname/releases/$_pkgname/$_pkgname-$pkgver.tar.gz
-        farstream-0.1.2-prefer-vp8.patch
-        farstream-0.1.2-introspection-tag-order.patch)
-sha256sums=('fa5a40597b47b59d124f7fd57f66704b030d576cdc0d90e107c7a592f05e73d9'
-            '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
-            'f540ea6f239e291f9ffc5b806cfea9f9cd0c4f13963e900719a5ee3a3f370124')
-
-build() {
-  cd "$_pkgname-$pkgver"
-
-  patch -Np1 -i "$srcdir/farstream-0.1.2-prefer-vp8.patch"
-  patch -Np1 -i "$srcdir/farstream-0.1.2-introspection-tag-order.patch"
-
-  ./configure \
-    --prefix=/usr \
-    --with-package-name='Arch Linux Farstream 0.1 Package' \
-    --with-package-origin='httpw://www.archlinux.org/' \
-    --disable-static
-  make
-}
-
-package() {
-  cd "$_pkgname-$pkgver"
-
-  make DESTDIR="$pkgdir" install
-}
-
-# vim:set ts=2 sw=2 et:

Copied: farstream-0.1/repos/extra-x86_64/PKGBUILD (from rev 201486, farstream-0.1/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,49 @@
+# $Id$
+# Maintainer: Evangelos Foutras <evangelos at foutrelis.com>
+# Contributor: Ionut Biru <ibiru at archlinux.org>
+
+pkgname=farstream-0.1
+_pkgname=farstream
+pkgver=0.1.2
+pkgrel=3
+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')
+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')
+
+prepare() {
+  cd farstream
+  patch -Np1 -i ../farstream-0.1.2-prefer-vp8.patch
+  patch -Np1 -i ../codec-discovery-intersect.patch
+  patch -Np1 -i ../rtp-memleak.patch
+}
+
+build() {
+  cd farstream
+  NOCONFIGURE=1 ./autogen.sh
+  ./configure \
+    --prefix=/usr \
+    --with-package-name='Arch Linux Farstream 0.1 Package' \
+    --with-package-origin='httpw://www.archlinux.org/' \
+    --enable-gtk-doc --disable-static
+  make -j1
+}
+
+package() {
+  cd farstream
+  make DESTDIR="$pkgdir" install
+}
+
+# vim:set ts=2 sw=2 et:
+sha256sums=('SKIP'
+            '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5'
+            '385d7c72e269bf48bd41937442d819a1e6d0f2472b903670a8a5555f5cb96586'
+            'b966312ccad90dd30b78ee2df49e9637b3b573e498668bcc58ac208f254440db')

Copied: farstream-0.1/repos/extra-x86_64/codec-discovery-intersect.patch (from rev 201486, farstream-0.1/trunk/codec-discovery-intersect.patch)
===================================================================
--- extra-x86_64/codec-discovery-intersect.patch	                        (rev 0)
+++ extra-x86_64/codec-discovery-intersect.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,72 @@
+From 50fffb08d941dce58ae48bf531faead8a4e22ed7 Mon Sep 17 00:00:00 2001
+From: Olivier Crête <olivier.crete at collabora.com>
+Date: Tue, 02 Apr 2013 23:13:06 +0000
+Subject: codec-discovery: Intersect different parts of the same caps to reduce them
+
+We do this because a caps may have the static payload in a separate structure from the encoding-name
+We just want both in the same structure
+---
+diff --git a/gst/fsrtpconference/fs-rtp-discover-codecs.c b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+index 5530cc8..df316a4 100644
+--- a/gst/fsrtpconference/fs-rtp-discover-codecs.c
++++ b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+@@ -384,7 +384,6 @@ validate_h263_codecs (CodecCap *codec_cap)
+   if (!rtp_struct)
+     return FALSE;
+ 
+-  /* If there no h263version, we accept everything */
+   encoding_name = gst_structure_get_string (rtp_struct, "encoding-name");
+ 
+   /* If there is no encoding name, we have a problem, lets refuse it */
+@@ -1300,15 +1299,44 @@ get_plugins_filtered_from_caps (FilterFunc filter,
+     else
+     {
+       gint i;
+-      for (i = 0; i < gst_caps_get_size (matched_caps); i++)
++      GPtrArray *capslist = g_ptr_array_new_with_free_func (
++        (GDestroyNotify) gst_caps_unref);
++
++      while (gst_caps_get_size (matched_caps) > 0)
+       {
+-        GstCaps *cur_caps =
+-            gst_caps_copy_nth (matched_caps, i);
++        GstCaps *stolencaps = gst_caps_new_full (
++          gst_caps_steal_structure (matched_caps, 0), NULL);
++        gboolean got_match = FALSE;
++
++        for (i = 0; i < capslist->len; i++)
++        {
++          GstCaps *intersect = gst_caps_intersect (stolencaps,
++              g_ptr_array_index (capslist, i));
++
++          if (gst_caps_is_empty (intersect))
++          {
++            gst_caps_unref (intersect);
++          }
++          else
++          {
++            got_match = TRUE;
++            gst_caps_unref (g_ptr_array_index (capslist, i));
++            g_ptr_array_index (capslist, i) = intersect;
++          }
++        }
++
++        if (got_match)
++          gst_caps_unref (stolencaps);
++        else
++          g_ptr_array_add (capslist, stolencaps);
+ 
+-        list = create_codec_cap_list (factory, direction, list, cur_caps);
+-        gst_caps_unref (cur_caps);
+       }
+       gst_caps_unref (matched_caps);
++
++      for (i = 0; i < capslist->len; i++)
++        list = create_codec_cap_list (factory, direction, list,
++            g_ptr_array_index (capslist, i));
++      g_ptr_array_unref (capslist);
+     }
+   }
+ 
+--
+cgit v0.9.0.3

Deleted: extra-x86_64/farstream-0.1.2-introspection-tag-order.patch
===================================================================
--- extra-x86_64/farstream-0.1.2-introspection-tag-order.patch	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-x86_64/farstream-0.1.2-introspection-tag-order.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,132 +0,0 @@
-From 39450457190675716c8e66700e35b05334a6a1a0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= <olivier.crete at collabora.com>
-Date: Fri, 25 May 2012 17:06:59 -0400
-Subject: [PATCH] Gtk-doc tags belong after the description
-
----
- farstream/fs-session.c |   16 +++++++---------
- farstream/fs-stream.c  |   15 ++++++---------
- 2 files changed, 13 insertions(+), 18 deletions(-)
-
-diff --git a/farstream/fs-session.c b/farstream/fs-session.c
-index 80794d1..abb1bc3 100644
---- a/farstream/fs-session.c
-+++ b/farstream/fs-session.c
-@@ -270,9 +270,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codec-preferences:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the current preferences list for the local codecs. It is
-    * set by the user to specify the codec options and priorities. The user may
-    * change its value with fs_session_set_codec_preferences() at any time
-@@ -283,6 +280,9 @@ fs_session_class_init (FsSessionClass *klass)
-    * or %FS_CODEC_ID_ANY. If the encoding name is "reserve-pt", then the
-    * payload type of the codec will be "reserved" and not be used by any
-    * dynamically assigned payload type.
-+   *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODEC_PREFERENCES,
-@@ -296,9 +296,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of codecs used for this session. It will include the
-    * codecs and payload type used to receive media on this session. It will
-    * also include any configuration parameter that must be transmitted reliably
-@@ -317,6 +314,8 @@ fs_session_class_init (FsSessionClass *klass)
-    * It is a #GList of #FsCodec. User must free this codec list using
-    * fs_codec_list_destroy() when done.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODECS,
-@@ -329,9 +328,6 @@ fs_session_class_init (FsSessionClass *klass)
-   /**
-    * FsSession:codecs-without-config:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the same list of codecs as #FsSession:codecs without
-    * the configuration information that describes the data sent. It is suitable
-    * for configurations where a list of codecs is shared by many senders.
-@@ -349,6 +345,8 @@ fs_session_class_init (FsSessionClass *klass)
-    * It is a #GList of #FsCodec. User must free this codec list using
-    * fs_codec_list_destroy() when done.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CODECS_WITHOUT_CONFIG,
-diff --git a/farstream/fs-stream.c b/farstream/fs-stream.c
-index b9e1320..110641d 100644
---- a/farstream/fs-stream.c
-+++ b/farstream/fs-stream.c
-@@ -176,13 +176,12 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:remote-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of remote codecs for this stream. They must be set by the
-    * user as soon as they are known using fs_stream_set_remote_codecs()
-    * (generally through external signaling). It is a #GList of #FsCodec.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_REMOTE_CODECS,
-@@ -195,15 +194,14 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:negotiated-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of negotiatied codecs, it is the same list as the list
-    * of #FsCodec from the parent #FsSession, except that the codec config data
-    * has been replaced with the data from the remote codecs for this stream.
-    * This is the list of #FsCodec used to receive data from this stream.
-    * It is a #GList of #FsCodec.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_NEGOTIATED_CODECS,
-@@ -216,9 +214,6 @@ fs_stream_class_init (FsStreamClass *klass)
-   /**
-    * FsStream:current-recv-codecs:
-    *
--   * Type: GLib.List(FsCodec)
--   * Transfer: full
--   *
-    * This is the list of codecs that have been received by this stream.
-    * The user must free the list if fs_codec_list_destroy().
-    * The "farstream-recv-codecs-changed" message is send on the #GstBus
-@@ -228,6 +223,8 @@ fs_stream_class_init (FsStreamClass *klass)
-    * also be emitted if the pad already exists, but the source material that
-    * will come to it is different.
-    *
-+   * Type: GLib.List(FsCodec)
-+   * Transfer: full
-    */
-   g_object_class_install_property (gobject_class,
-       PROP_CURRENT_RECV_CODECS,
--- 
-1.7.8.6
-

Deleted: extra-x86_64/farstream-0.1.2-prefer-vp8.patch
===================================================================
--- extra-x86_64/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:55:33 UTC (rev 201486)
+++ extra-x86_64/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -1,12 +0,0 @@
-diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences
---- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences	2012-03-20 12:12:22.644324485 +0100
-+++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences	2012-03-21 09:32:04.468634455 +0100
-@@ -41,6 +41,8 @@ feedback:nack/pli=
- [video/H263]
- feedback:nack/pli=
- 
-+[video/VP8-DRAFT-IETF-01]
-+
- [video/THEORA]
- #feedback:tfrc=
- feedback:nack/pli=

Copied: farstream-0.1/repos/extra-x86_64/farstream-0.1.2-prefer-vp8.patch (from rev 201486, farstream-0.1/trunk/farstream-0.1.2-prefer-vp8.patch)
===================================================================
--- extra-x86_64/farstream-0.1.2-prefer-vp8.patch	                        (rev 0)
+++ extra-x86_64/farstream-0.1.2-prefer-vp8.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,12 @@
+diff -urNp farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences farstream-0.1.1/gst/fsrtpconference/default-codec-preferences
+--- farstream-0.1.1.orig/gst/fsrtpconference/default-codec-preferences	2012-03-20 12:12:22.644324485 +0100
++++ farstream-0.1.1/gst/fsrtpconference/default-codec-preferences	2012-03-21 09:32:04.468634455 +0100
+@@ -41,6 +41,8 @@ feedback:nack/pli=
+ [video/H263]
+ feedback:nack/pli=
+ 
++[video/VP8-DRAFT-IETF-01]
++
+ [video/THEORA]
+ #feedback:tfrc=
+ feedback:nack/pli=

Copied: farstream-0.1/repos/extra-x86_64/rtp-memleak.patch (from rev 201486, farstream-0.1/trunk/rtp-memleak.patch)
===================================================================
--- extra-x86_64/rtp-memleak.patch	                        (rev 0)
+++ extra-x86_64/rtp-memleak.patch	2013-12-12 18:59:01 UTC (rev 201487)
@@ -0,0 +1,24 @@
+From 10b3d38560ec53d980d13240559e6758c1113e21 Mon Sep 17 00:00:00 2001
+From: Havard Graff <havard.graff at gmail.com>
+Date: Thu, 21 Mar 2013 12:46:11 +0000
+Subject: fs-rtp-discover-codecs: plug memoryleak
+
+use g_list_delete_link to free the list as well
+---
+(limited to 'gst/fsrtpconference')
+
+diff --git a/gst/fsrtpconference/fs-rtp-discover-codecs.c b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+index df316a4..c663225 100644
+--- a/gst/fsrtpconference/fs-rtp-discover-codecs.c
++++ b/gst/fsrtpconference/fs-rtp-discover-codecs.c
+@@ -536,7 +536,7 @@ remove_duplicates (GList *list)
+       if (gst_caps_is_equal (codec_cap1->rtp_caps, codec_cap2->rtp_caps))
+       {
+         codec_cap_free (codec_cap2);
+-        walk1 = g_list_remove_link (walk1, walk2);
++        walk1 = g_list_delete_link (walk1, walk2);
+         goto again;
+       }
+     }
+--
+cgit v0.9.0.3




More information about the arch-commits mailing list