diff options
Diffstat (limited to 'extra/farstream-0.1')
-rw-r--r-- | extra/farstream-0.1/PKGBUILD | 40 | ||||
-rw-r--r-- | extra/farstream-0.1/codec-discovery-intersect.patch | 72 | ||||
-rw-r--r-- | extra/farstream-0.1/farstream-0.1.2-introspection-tag-order.patch | 132 | ||||
-rw-r--r-- | extra/farstream-0.1/rtp-memleak.patch | 24 |
4 files changed, 119 insertions, 149 deletions
diff --git a/extra/farstream-0.1/PKGBUILD b/extra/farstream-0.1/PKGBUILD index aa21baf76..4a33f5b39 100644 --- a/extra/farstream-0.1/PKGBUILD +++ b/extra/farstream-0.1/PKGBUILD @@ -1,43 +1,49 @@ -# $Id: PKGBUILD 197948 2013-10-30 11:51:24Z allan $ +# $Id: PKGBUILD 201487 2013-12-12 18:59:01Z jgc $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Ionut Biru <ibiru@archlinux.org> pkgname=farstream-0.1 _pkgname=farstream pkgver=0.1.2 -pkgrel=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') -source=(http://freedesktop.org/software/$_pkgname/releases/$_pkgname/$_pkgname-$pkgver.tar.gz +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 - farstream-0.1.2-introspection-tag-order.patch) -sha256sums=('fa5a40597b47b59d124f7fd57f66704b030d576cdc0d90e107c7a592f05e73d9' - '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5' - 'f540ea6f239e291f9ffc5b806cfea9f9cd0c4f13963e900719a5ee3a3f370124') - -build() { - cd "$_pkgname-$pkgver" + codec-discovery-intersect.patch + rtp-memleak.patch) +sha256sums=('SKIP') - patch -Np1 -i "$srcdir/farstream-0.1.2-prefer-vp8.patch" - patch -Np1 -i "$srcdir/farstream-0.1.2-introspection-tag-order.patch" +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/' \ - --disable-static - make + --enable-gtk-doc --disable-static + make -j1 } package() { - cd "$_pkgname-$pkgver" - + cd farstream make DESTDIR="$pkgdir" install } # vim:set ts=2 sw=2 et: +sha256sums=('SKIP' + '5f8f2876bde0f21383b3d059c94914a2fcd63d45a1bb1b5cd2e2208cd2536da5' + '385d7c72e269bf48bd41937442d819a1e6d0f2472b903670a8a5555f5cb96586' + 'b966312ccad90dd30b78ee2df49e9637b3b573e498668bcc58ac208f254440db') diff --git a/extra/farstream-0.1/codec-discovery-intersect.patch b/extra/farstream-0.1/codec-discovery-intersect.patch new file mode 100644 index 000000000..54134e054 --- /dev/null +++ b/extra/farstream-0.1/codec-discovery-intersect.patch @@ -0,0 +1,72 @@ +From 50fffb08d941dce58ae48bf531faead8a4e22ed7 Mon Sep 17 00:00:00 2001 +From: Olivier CrĂȘte <olivier.crete@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 diff --git a/extra/farstream-0.1/farstream-0.1.2-introspection-tag-order.patch b/extra/farstream-0.1/farstream-0.1.2-introspection-tag-order.patch deleted file mode 100644 index 3283e1fd2..000000000 --- a/extra/farstream-0.1/farstream-0.1.2-introspection-tag-order.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 39450457190675716c8e66700e35b05334a6a1a0 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Olivier=20Cr=C3=AAte?= <olivier.crete@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 - diff --git a/extra/farstream-0.1/rtp-memleak.patch b/extra/farstream-0.1/rtp-memleak.patch new file mode 100644 index 000000000..1ec307258 --- /dev/null +++ b/extra/farstream-0.1/rtp-memleak.patch @@ -0,0 +1,24 @@ +From 10b3d38560ec53d980d13240559e6758c1113e21 Mon Sep 17 00:00:00 2001 +From: Havard Graff <havard.graff@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 |