From 390ad14bee94b340d3443b6cb93e80536057621f Mon Sep 17 00:00:00 2001 From: piernov Date: Wed, 23 May 2012 17:00:36 +0000 Subject: pidgin 2.10.4-1 màj port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pidgin/.footprint.i686 | 19 +- pidgin/.footprint.x86_64 | 19 +- pidgin/.md5sum.i686 | 3 +- pidgin/.md5sum.x86_64 | 3 +- pidgin/Pkgfile | 9 +- pidgin/port-to-farstream-rlaager-v1.patch | 666 ------------------------------ 6 files changed, 17 insertions(+), 702 deletions(-) delete mode 100644 pidgin/port-to-farstream-rlaager-v1.patch (limited to 'pidgin') diff --git a/pidgin/.footprint.i686 b/pidgin/.footprint.i686 index c2328f0b3..99cd64cba 100644 --- a/pidgin/.footprint.i686 +++ b/pidgin/.footprint.i686 @@ -1,7 +1,3 @@ -drwxr-xr-x root/root etc/ -drwxr-xr-x root/root etc/gconf/ -drwxr-xr-x root/root etc/gconf/schemas/ --rw-r--r-- root/root etc/gconf/schemas/purple.schemas drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/finch @@ -209,16 +205,13 @@ lrwxrwxrwx root/root usr/lib/libgnt.so -> libgnt.so.0.0.0 lrwxrwxrwx root/root usr/lib/libgnt.so.0 -> libgnt.so.0.0.0 -rwxr-xr-x root/root usr/lib/libgnt.so.0.0.0 -rwxr-xr-x root/root usr/lib/libpurple-client.la -lrwxrwxrwx root/root usr/lib/libpurple-client.so -> libpurple-client.so.0.10.3 -lrwxrwxrwx root/root usr/lib/libpurple-client.so.0 -> libpurple-client.so.0.10.3 --rwxr-xr-x root/root usr/lib/libpurple-client.so.0.10.3 +lrwxrwxrwx root/root usr/lib/libpurple-client.so -> libpurple-client.so.0.10.4 +lrwxrwxrwx root/root usr/lib/libpurple-client.so.0 -> libpurple-client.so.0.10.4 +-rwxr-xr-x root/root usr/lib/libpurple-client.so.0.10.4 -rwxr-xr-x root/root usr/lib/libpurple.la -lrwxrwxrwx root/root usr/lib/libpurple.so -> libpurple.so.0.10.3 -lrwxrwxrwx root/root usr/lib/libpurple.so.0 -> libpurple.so.0.10.3 --rwxr-xr-x root/root usr/lib/libpurple.so.0.10.3 -drwxr-xr-x root/root usr/lib/perl5/ -drwxr-xr-x root/root usr/lib/perl5/i686-linux-thread-multi/ --rw-r--r-- root/root usr/lib/perl5/i686-linux-thread-multi/perllocal.pod +lrwxrwxrwx root/root usr/lib/libpurple.so -> libpurple.so.0.10.4 +lrwxrwxrwx root/root usr/lib/libpurple.so.0 -> libpurple.so.0.10.4 +-rwxr-xr-x root/root usr/lib/libpurple.so.0.10.4 drwxr-xr-x root/root usr/lib/pidgin/ -rwxr-xr-x root/root usr/lib/pidgin/convcolors.la -rwxr-xr-x root/root usr/lib/pidgin/convcolors.so diff --git a/pidgin/.footprint.x86_64 b/pidgin/.footprint.x86_64 index c2328f0b3..99cd64cba 100644 --- a/pidgin/.footprint.x86_64 +++ b/pidgin/.footprint.x86_64 @@ -1,7 +1,3 @@ -drwxr-xr-x root/root etc/ -drwxr-xr-x root/root etc/gconf/ -drwxr-xr-x root/root etc/gconf/schemas/ --rw-r--r-- root/root etc/gconf/schemas/purple.schemas drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/finch @@ -209,16 +205,13 @@ lrwxrwxrwx root/root usr/lib/libgnt.so -> libgnt.so.0.0.0 lrwxrwxrwx root/root usr/lib/libgnt.so.0 -> libgnt.so.0.0.0 -rwxr-xr-x root/root usr/lib/libgnt.so.0.0.0 -rwxr-xr-x root/root usr/lib/libpurple-client.la -lrwxrwxrwx root/root usr/lib/libpurple-client.so -> libpurple-client.so.0.10.3 -lrwxrwxrwx root/root usr/lib/libpurple-client.so.0 -> libpurple-client.so.0.10.3 --rwxr-xr-x root/root usr/lib/libpurple-client.so.0.10.3 +lrwxrwxrwx root/root usr/lib/libpurple-client.so -> libpurple-client.so.0.10.4 +lrwxrwxrwx root/root usr/lib/libpurple-client.so.0 -> libpurple-client.so.0.10.4 +-rwxr-xr-x root/root usr/lib/libpurple-client.so.0.10.4 -rwxr-xr-x root/root usr/lib/libpurple.la -lrwxrwxrwx root/root usr/lib/libpurple.so -> libpurple.so.0.10.3 -lrwxrwxrwx root/root usr/lib/libpurple.so.0 -> libpurple.so.0.10.3 --rwxr-xr-x root/root usr/lib/libpurple.so.0.10.3 -drwxr-xr-x root/root usr/lib/perl5/ -drwxr-xr-x root/root usr/lib/perl5/i686-linux-thread-multi/ --rw-r--r-- root/root usr/lib/perl5/i686-linux-thread-multi/perllocal.pod +lrwxrwxrwx root/root usr/lib/libpurple.so -> libpurple.so.0.10.4 +lrwxrwxrwx root/root usr/lib/libpurple.so.0 -> libpurple.so.0.10.4 +-rwxr-xr-x root/root usr/lib/libpurple.so.0.10.4 drwxr-xr-x root/root usr/lib/pidgin/ -rwxr-xr-x root/root usr/lib/pidgin/convcolors.la -rwxr-xr-x root/root usr/lib/pidgin/convcolors.so diff --git a/pidgin/.md5sum.i686 b/pidgin/.md5sum.i686 index 3ec31f809..93760d483 100644 --- a/pidgin/.md5sum.i686 +++ b/pidgin/.md5sum.i686 @@ -1,2 +1 @@ -c2f799d45a934a2f0075e32ce49906e6 pidgin-2.10.3.tar.bz2 -b5b85f95ab7eae271a375b50c7a1ac28 port-to-farstream-rlaager-v1.patch +264f9ae89742b8ee168306b85d2fb51e pidgin-2.10.4.tar.bz2 diff --git a/pidgin/.md5sum.x86_64 b/pidgin/.md5sum.x86_64 index 3ec31f809..93760d483 100644 --- a/pidgin/.md5sum.x86_64 +++ b/pidgin/.md5sum.x86_64 @@ -1,2 +1 @@ -c2f799d45a934a2f0075e32ce49906e6 pidgin-2.10.3.tar.bz2 -b5b85f95ab7eae271a375b50c7a1ac28 port-to-farstream-rlaager-v1.patch +264f9ae89742b8ee168306b85d2fb51e pidgin-2.10.4.tar.bz2 diff --git a/pidgin/Pkgfile b/pidgin/Pkgfile index f815940e5..1d97d46aa 100644 --- a/pidgin/Pkgfile +++ b/pidgin/Pkgfile @@ -6,15 +6,12 @@ # Run on: gtkspell,gtk,libxml2,gnutls,nss,nspr,xorg-libxscrnsaver,gstreamer,startup-notification,hicolor-icon-theme,libidn,farstream,dbus name=pidgin -version=2.10.3 +version=2.10.4 release=1 -source=(http://downloads.sourceforge.net/$name/$name-$version.tar.bz2 - port-to-farstream-rlaager-v1.patch ) +source=(http://downloads.sourceforge.net/$name/$name-$version.tar.bz2) build() { cd $name-$version - patch -p0 < ../port-to-farstream-rlaager-v1.patch - autoreconf -if sed -i "s#env python#env python2#" */plugins/*.py sed -i "s#env python#env python2#" libpurple/purple-{remote,notifications-example,url-handler} ./configure --prefix=/usr \ @@ -32,5 +29,5 @@ build() { make make DESTDIR=$PKG install -# rm -rf $PKG/{etc,usr/lib/perl5} + rm -rf $PKG/{etc,usr/lib/perl5} } diff --git a/pidgin/port-to-farstream-rlaager-v1.patch b/pidgin/port-to-farstream-rlaager-v1.patch deleted file mode 100644 index 81ec34bcf..000000000 --- a/pidgin/port-to-farstream-rlaager-v1.patch +++ /dev/null @@ -1,666 +0,0 @@ -# -# old_revision [c5b3879b829a5067b2189e4393ca3b80f6fd96c3] -# -# patch "COPYRIGHT" -# from [ac32c81db327a1c5a9d1e57c06ed3ca5337b374f] -# to [8fdcebf3bcde1d3e484b4fbebc144e37719a4b65] -# -# patch "configure.ac" -# from [b5155d791d3bfc938939d529453e5b327c518dea] -# to [2a9cd757a9f1a8ab095ffe87be3c2d71cb193632] -# -# patch "libpurple/Makefile.am" -# from [98a11dd7e6b174ca919fa4734c900904af94e91b] -# to [3d58790ace97b844146ebf7492a0ed705c209788] -# -# patch "libpurple/media/backend-fs2.c" -# from [14baabde9d85c5db0c5b002a41707439a1afd834] -# to [40cd232d21c4a803fd38727fb2bdf7420433418f] -# -# patch "libpurple/media.c" -# from [b6d7130f18c1bd96f12516b0eb35344457c5b447] -# to [1934c80d30a14fa9f719fc5f71caea49fb54d69d] -# -# patch "libpurple/mediamanager.c" -# from [1e55c322fe59eb10d19628c4c44757ea404ba23b] -# to [0a57c7b39ee3f9a34bbb11a5722ecc7e3c70dbdd] -# -============================================================ ---- COPYRIGHT ac32c81db327a1c5a9d1e57c06ed3ca5337b374f -+++ COPYRIGHT 8fdcebf3bcde1d3e484b4fbebc144e37719a4b65 -@@ -128,6 +128,7 @@ Jeramey Crawford - Adam Cowell - Palmer Cox - Jeramey Crawford -+Olivier Crete - Michael Culbertson - Steven Danna - Simon Danner -============================================================ ---- configure.ac b5155d791d3bfc938939d529453e5b327c518dea -+++ configure.ac 2a9cd757a9f1a8ab095ffe87be3c2d71cb193632 -@@ -786,20 +786,26 @@ dnl #################################### - fi - - dnl ####################################################################### --dnl # Check for Farsight -+dnl # Check for Farstream - dnl ####################################################################### --AC_ARG_ENABLE(farsight, -- [AC_HELP_STRING([--disable-farsight], [compile without farsight support])], -- enable_farsight="$enableval", enable_farsight="yes") --if test "x$enable_farsight" != "xno"; then -- PKG_CHECK_MODULES(FARSIGHT, [farsight2-0.10 >= 0.0.9], [ -- AC_DEFINE(USE_FARSIGHT, 1, [Use Farsight for voice and video]) -- AC_SUBST(FARSIGHT_CFLAGS) -- AC_SUBST(FARSIGHT_LIBS) -- ], [ -- enable_farsight="no" -- ]) --fi -+AC_ARG_ENABLE(farstream, -+ [AC_HELP_STRING([--disable-farstream], [compile without farstream support])], -+ enable_farstream="$enableval", enable_farstream="yes") -+if test "x$enable_farstream" != "xno"; then -+ PKG_CHECK_MODULES(FARSTREAM, [farstream-0.1], [ -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) -+ ], [ -+ # Try farsight. -+ PKG_CHECK_MODULES(FARSTREAM, [farsight2-0.10 >= 0.0.9], [ -+ AC_DEFINE(HAVE_FARSIGHT, 1, [Use Farsight instead of Farstream]) -+ AC_SUBST(FARSTREAM_CFLAGS) -+ AC_SUBST(FARSTREAM_LIBS) -+ ], [ -+ enable_farstream="no" -+ ]) -+ ]) -+ fi - - dnl ####################################################################### - dnl # Check for Voice and Video support -@@ -808,20 +814,20 @@ if test "x$enable_vv" != "xno"; then - [AC_HELP_STRING([--disable-vv], [compile without voice and video support])], - enable_vv="$enableval", enable_vv="yes") - if test "x$enable_vv" != "xno"; then -- if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno"; then -+ if test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno"; then - AC_DEFINE(USE_VV, 1, [Use voice and video]) - else - enable_vv="no" - if test "x$force_deps" = "xyes"; then - AC_MSG_ERROR([ - Dependencies for voice/video were not met. --Install the necessary gstreamer and farsight packages first. -+Install the necessary gstreamer and farstream packages first. - Or use --disable-vv if you do not need voice/video support. - ]) - fi - fi - fi --AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farsight" != "xno") -+AM_CONDITIONAL(USE_VV, test "x$enable_gstreamer" != "xno" -a "x$enable_gstinterfaces" != "xno" -a "x$enable_farstream" != "xno") - - dnl ####################################################################### - dnl # Check for Internationalized Domain Name support -============================================================ ---- libpurple/Makefile.am 98a11dd7e6b174ca919fa4734c900904af94e91b -+++ libpurple/Makefile.am 3d58790ace97b844146ebf7492a0ed705c209788 -@@ -306,7 +306,7 @@ libpurple_la_LIBADD = \ - $(LIBXML_LIBS) \ - $(NETWORKMANAGER_LIBS) \ - $(INTLLIBS) \ -- $(FARSIGHT_LIBS) \ -+ $(FARSTREAM_LIBS) \ - $(GSTREAMER_LIBS) \ - $(GSTINTERFACES_LIBS) \ - $(IDN_LIBS) \ -@@ -322,7 +322,7 @@ AM_CPPFLAGS = \ - $(DEBUG_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(LIBXML_CFLAGS) \ -- $(FARSIGHT_CFLAGS) \ -+ $(FARSTREAM_CFLAGS) \ - $(GSTREAMER_CFLAGS) \ - $(GSTINTERFACES_CFLAGS) \ - $(IDN_CFLAGS) \ -============================================================ ---- libpurple/media/backend-fs2.c 14baabde9d85c5db0c5b002a41707439a1afd834 -+++ libpurple/media/backend-fs2.c 40cd232d21c4a803fd38727fb2bdf7420433418f -@@ -1,5 +1,5 @@ - /** -- * @file backend-fs2.c Farsight 2 backend for media API -+ * @file backend-fs2.c Farstream backend for media API - * @ingroup core - */ - -@@ -34,8 +34,14 @@ - #include "network.h" - #include "media-gst.h" - -+#ifdef HAVE_FARSIGHT - #include - #include -+#else -+#include -+#include -+#include -+#endif - - /** @copydoc _PurpleMediaBackendFs2Class */ - typedef struct _PurpleMediaBackendFs2Class PurpleMediaBackendFs2Class; -@@ -112,6 +118,10 @@ struct _PurpleMediaBackendFs2Stream - gchar *participant; - FsStream *stream; - -+#ifndef HAVE_FARSIGHT -+ gboolean supports_add; -+#endif -+ - GstElement *src; - GstElement *tee; - GstElement *volume; -@@ -147,6 +157,10 @@ struct _PurpleMediaBackendFs2Private - FsConference *conference; - gchar *conference_type; - -+#ifndef HAVE_FARSIGHT -+ FsElementAddedNotifier *notifier; -+#endif -+ - GHashTable *sessions; - GHashTable *participants; - -@@ -212,6 +226,13 @@ purple_media_backend_fs2_dispose(GObject - - purple_debug_info("backend-fs2", "purple_media_backend_fs2_dispose\n"); - -+#ifndef HAVE_FARSIGHT -+ if (priv->notifier) { -+ g_object_unref(priv->notifier); -+ priv->notifier = NULL; -+ } -+#endif -+ - if (priv->confbin) { - GstElement *pipeline; - -@@ -846,7 +867,11 @@ gst_handle_message_element(GstBus *bus, - priv->conference != FS_CONFERENCE(src)) - return; - -+#ifdef HAVE_FARSIGHT - if (gst_structure_has_name(msg->structure, "farsight-error")) { -+#else -+ if (gst_structure_has_name(msg->structure, "farstream-error")) { -+#endif - FsError error_no; - gst_structure_get_enum(msg->structure, "error-no", - FS_TYPE_ERROR, (gint*)&error_no); -@@ -859,6 +884,7 @@ gst_handle_message_element(GstBus *bus, - " packages.")); - purple_media_end(priv->media, NULL, NULL); - break; -+#ifdef HAVE_FARSIGHT - case FS_ERROR_NO_CODECS_LEFT: - purple_media_error(priv->media, _("No codecs" - " left. Your codec" -@@ -868,28 +894,42 @@ gst_handle_message_element(GstBus *bus, - purple_media_end(priv->media, NULL, NULL); - break; - case FS_ERROR_UNKNOWN_CNAME: -- /* -- * Unknown CName is only a problem for the -- * multicast transmitter which isn't used. -- * It is also deprecated. -- */ -+ /* -+ * Unknown CName is only a problem for the -+ * multicast transmitter which isn't used. -+ * It is also deprecated. -+ */ - break; -+#endif - default: - purple_debug_error("backend-fs2", -+#ifdef HAVE_FARSIGHT - "farsight-error: %i: %s\n", -+#else -+ "farstream-error: %i: %s\n", -+#endif - error_no, -- gst_structure_get_string( -+ gst_structure_get_string( - msg->structure, "error-msg")); - break; - } - - if (FS_ERROR_IS_FATAL(error_no)) { -+#ifdef HAVE_FARSIGHT - purple_media_error(priv->media, _("A non-recoverable " - "Farsight2 error has occurred.")); -+#else -+ purple_media_error(priv->media, _("A non-recoverable " -+ "Farstream error has occurred.")); -+#endif - purple_media_end(priv->media, NULL, NULL); - } - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-new-local-candidate")) { -+#else -+ "farstream-new-local-candidate")) { -+#endif - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -924,7 +964,11 @@ gst_handle_message_element(GstBus *bus, - session->id, name, candidate); - g_object_unref(candidate); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-local-candidates-prepared")) { -+#else -+ "farstream-local-candidates-prepared")) { -+#endif - const GValue *value; - FsStream *stream; - FsParticipant *participant; -@@ -942,7 +986,11 @@ gst_handle_message_element(GstBus *bus, - g_signal_emit_by_name(self, "candidates-prepared", - session->id, name); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-new-active-candidate-pair")) { -+#else -+ "farstream-new-active-candidate-pair")) { -+#endif - const GValue *value; - FsStream *stream; - FsCandidate *local_candidate; -@@ -976,7 +1024,11 @@ gst_handle_message_element(GstBus *bus, - g_object_unref(lcandidate); - g_object_unref(rcandidate); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-recv-codecs-changed")) { -+#else -+ "farstream-recv-codecs-changed")) { -+#endif - const GValue *value; - GList *codecs; - FsCodec *codec; -@@ -986,10 +1038,18 @@ gst_handle_message_element(GstBus *bus, - codec = codecs->data; - - purple_debug_info("backend-fs2", -+#ifdef HAVE_FARSIGHT - "farsight-recv-codecs-changed: %s\n", -+#else -+ "farstream-recv-codecs-changed: %s\n", -+#endif - codec->encoding_name); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-component-state-changed")) { -+#else -+ "farstream-component-state-changed")) { -+#endif - const GValue *value; - FsStreamState fsstate; - guint component; -@@ -1025,11 +1085,19 @@ gst_handle_message_element(GstBus *bus, - } - - purple_debug_info("backend-fs2", -+#ifdef HAVE_FARSIGHT - "farsight-component-state-changed: " -+#else -+ "farstream-component-state-changed: " -+#endif - "component: %u state: %s\n", - component, state); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-send-codec-changed")) { -+#else -+ "farstream-send-codec-changed")) { -+#endif - const GValue *value; - FsCodec *codec; - gchar *codec_str; -@@ -1039,12 +1107,20 @@ gst_handle_message_element(GstBus *bus, - codec_str = fs_codec_to_string(codec); - - purple_debug_info("backend-fs2", -+#ifdef HAVE_FARSIGHT - "farsight-send-codec-changed: codec: %s\n", -+#else -+ "farstream-send-codec-changed: codec: %s\n", -+#endif - codec_str); - - g_free(codec_str); - } else if (gst_structure_has_name(msg->structure, -+#ifdef HAVE_FARSIGHT - "farsight-codecs-changed")) { -+#else -+ "farstream-codecs-changed")) { -+#endif - const GValue *value; - FsSession *fssession; - GList *sessions; -@@ -1220,8 +1296,17 @@ stream_info_cb(PurpleMedia *media, Purpl - purple_media_is_initiator(media, sid, name)) - return; - -+#ifdef HAVE_FARSIGHT - fs_stream_set_remote_candidates(stream->stream, - stream->remote_candidates, &err); -+#else -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+#endif - - if (err == NULL) - return; -@@ -1301,6 +1386,9 @@ init_conference(PurpleMediaBackendFs2 *s - GstElement *pipeline; - GstBus *bus; - gchar *name; -+#ifndef HAVE_FARSIGHT -+ GKeyFile *default_props; -+#endif - - priv->conference = FS_CONFERENCE( - gst_element_factory_make(priv->conference_type, NULL)); -@@ -1343,6 +1431,16 @@ init_conference(PurpleMediaBackendFs2 *s - return FALSE; - } - -+#ifndef HAVE_FARSIGHT -+ default_props = fs_utils_get_default_element_properties(GST_ELEMENT(priv->conference)); -+ if (default_props != NULL) { -+ priv->notifier = fs_element_added_notifier_new(); -+ fs_element_added_notifier_add(priv->notifier, -+ GST_BIN(priv->confbin)); -+ fs_element_added_notifier_set_properties_from_keyfile(priv->notifier, default_props); -+ } -+#endif -+ - g_signal_connect(G_OBJECT(bus), "message", - G_CALLBACK(gst_bus_cb), self); - gst_object_unref(bus); -@@ -1559,7 +1657,11 @@ create_session(PurpleMediaBackendFs2 *se - * receiving the src-pad-added signal. - * Only works for non-multicast FsRtpSessions. - */ -+#ifdef HAVE_FARSIGHT - if (is_nice || !strcmp(transmitter, "rawudp")) -+#else -+ if (!!strcmp(transmitter, "multicast")) -+#endif - g_object_set(G_OBJECT(session->session), - "no-rtcp-timeout", 0, NULL); - -@@ -1612,7 +1714,11 @@ create_participant(PurpleMediaBackendFs2 - GError *err = NULL; - - participant = fs_conference_new_participant( -+#ifdef HAVE_FARSIGHT - priv->conference, name, &err); -+#else -+ priv->conference, &err); -+#endif - - if (err) { - purple_debug_error("backend-fs2", -@@ -1622,6 +1728,13 @@ create_participant(PurpleMediaBackendFs2 - return FALSE; - } - -+#ifndef HAVE_FARSIGHT -+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(participant), -+ "cname")) { -+ g_object_set(participant, "cname", name, NULL); -+ } -+#endif -+ - if (!priv->participants) { - purple_debug_info("backend-fs2", - "Creating hash table for participants\n"); -@@ -1739,7 +1852,7 @@ append_relay_info(GValueArray *relay_inf - "port", G_TYPE_UINT, port, - "username", G_TYPE_STRING, username, - "password", G_TYPE_STRING, password, -- "relay-type", G_TYPE_STRING, type, -+ "relay-type", G_TYPE_STRING, type, - NULL); - - if (turn_setup) { -@@ -1767,7 +1880,7 @@ create_stream(PurpleMediaBackendFs2 *sel - const gchar *stun_ip = purple_network_get_stun_ip(); - const gchar *turn_ip = purple_network_get_turn_ip(); - guint _num_params = num_params; -- GParameter *_params = g_new0(GParameter, num_params + 3); -+ GParameter *_params; - FsStreamDirection type_direction = - session_type_to_fs_stream_direction(type); - PurpleMediaBackendFs2Session *session; -@@ -1779,6 +1892,41 @@ create_stream(PurpleMediaBackendFs2 *sel - gboolean got_turn_from_prpl = FALSE; - int i; - -+ session = get_session(self, sess_id); -+ -+ if (session == NULL) { -+ purple_debug_error("backend-fs2", -+ "Couldn't find session to create stream.\n"); -+ return FALSE; -+ } -+ -+ participant = get_participant(self, who); -+ -+ if (participant == NULL) { -+ purple_debug_error("backend-fs2", "Couldn't find " -+ "participant to create stream.\n"); -+ return FALSE; -+ } -+ -+#ifndef HAVE_FARSIGHT -+ fsstream = fs_session_new_stream(session->session, participant, -+ initiator == TRUE ? type_direction : -+ (type_direction & FS_DIRECTION_RECV), &err); -+ -+ if (fsstream == NULL) { -+ if (err) { -+ purple_debug_error("backend-fs2", -+ "Error creating stream: %s\n", -+ err && err->message ? -+ err->message : "NULL"); -+ g_error_free(err); -+ } else -+ purple_debug_error("backend-fs2", -+ "Error creating stream\n"); -+ return FALSE; -+ } -+#endif -+ - for (i = 0 ; i < num_params ; i++) { - if (purple_strequal(params[i].name, "relay-info")) { - got_turn_from_prpl = TRUE; -@@ -1786,6 +1934,7 @@ create_stream(PurpleMediaBackendFs2 *sel - } - } - -+ _params = g_new0(GParameter, num_params + 3); - memcpy(_params, params, sizeof(GParameter) * num_params); - - /* set the controlling mode parameter */ -@@ -1840,22 +1989,7 @@ create_stream(PurpleMediaBackendFs2 *sel - _num_params++; - } - -- session = get_session(self, sess_id); -- -- if (session == NULL) { -- purple_debug_error("backend-fs2", -- "Couldn't find session to create stream.\n"); -- return FALSE; -- } -- -- participant = get_participant(self, who); -- -- if (participant == NULL) { -- purple_debug_error("backend-fs2", "Couldn't find " -- "participant to create stream.\n"); -- return FALSE; -- } -- -+#ifdef HAVE_FARSIGHT - fsstream = fs_session_new_stream(session->session, participant, - initiator == TRUE ? type_direction : - (type_direction & FS_DIRECTION_RECV), transmitter, -@@ -1874,11 +2008,26 @@ create_stream(PurpleMediaBackendFs2 *sel - "Error creating stream\n"); - return FALSE; - } -+#else -+ if (!fs_stream_set_transmitter(fsstream, transmitter, -+ _params, _num_params, &err)) { -+ purple_debug_error("backend-fs2", -+ "Could not set transmitter %s: %s.\n", -+ transmitter, err->message); -+ g_clear_error(&err); -+ g_free(_params); -+ return FALSE; -+ } -+ g_free(_params); -+#endif - - stream = g_new0(PurpleMediaBackendFs2Stream, 1); - stream->participant = g_strdup(who); - stream->session = session; - stream->stream = fsstream; -+#ifndef HAVE_FARSTREAM -+ stream->supports_add = !strcmp(transmitter, "nice"); -+#endif - - priv->streams = g_list_append(priv->streams, stream); - -@@ -1991,8 +2140,17 @@ purple_media_backend_fs2_add_remote_cand - if (purple_media_is_initiator(priv->media, sess_id, participant) || - purple_media_accepted( - priv->media, sess_id, participant)) { -+#ifdef HAVE_FARSIGHT - fs_stream_set_remote_candidates(stream->stream, - stream->remote_candidates, &err); -+#else -+ if (stream->supports_add) -+ fs_stream_add_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+ else -+ fs_stream_force_remote_candidates(stream->stream, -+ stream->remote_candidates, &err); -+#endif - - if (err) { - purple_debug_error("backend-fs2", "Error adding remote" -@@ -2021,25 +2179,50 @@ purple_media_backend_fs2_codecs_ready(Pu - return FALSE; - - if (session->type & (PURPLE_MEDIA_SEND_AUDIO | -- PURPLE_MEDIA_SEND_VIDEO)) -+ PURPLE_MEDIA_SEND_VIDEO)) { -+#ifdef HAVE_FARSIGHT - g_object_get(session->session, -- "codecs-ready", &ret, NULL); -- else -+ "codecs-ready", &ret, NULL); -+#else -+ GList *codecs = NULL; -+ -+ g_object_get(session->session, -+ "codecs", &codecs, NULL); -+ if (codecs) { -+ fs_codec_list_destroy (codecs); -+ ret = TRUE; -+ } -+#endif -+ } else - ret = TRUE; - } else { - GList *values = g_hash_table_get_values(priv->sessions); - - for (; values; values = g_list_delete_link(values, values)) { - PurpleMediaBackendFs2Session *session = values->data; -+ - if (session->type & (PURPLE_MEDIA_SEND_AUDIO | -- PURPLE_MEDIA_SEND_VIDEO)) -+ PURPLE_MEDIA_SEND_VIDEO)) { -+#ifdef HAVE_FARSIGHT - g_object_get(session->session, - "codecs-ready", &ret, NULL); -- else -+ if (ret == FALSE) -+ break; -+#else -+ GList *codecs = NULL; -+ -+ g_object_get(session->session, -+ "codecs", &codecs, NULL); -+ if (codecs) { -+ fs_codec_list_destroy (codecs); -+ ret = TRUE; -+ } else { -+ ret = FALSE; -+ break; -+ } -+#endif -+ } else - ret = TRUE; -- -- if (ret == FALSE) -- break; - } - - if (values != NULL) -============================================================ ---- libpurple/media.c b6d7130f18c1bd96f12516b0eb35344457c5b447 -+++ libpurple/media.c 1934c80d30a14fa9f719fc5f71caea49fb54d69d -@@ -1067,7 +1067,6 @@ purple_media_add_stream(PurpleMedia *med - { - #ifdef USE_VV - PurpleMediaSession *session; -- PurpleMediaStream *stream = NULL; - - g_return_val_if_fail(PURPLE_IS_MEDIA(media), FALSE); - -@@ -1103,7 +1102,7 @@ purple_media_add_stream(PurpleMedia *med - } - - if (purple_media_get_stream(media, sess_id, who) == NULL) { -- stream = purple_media_insert_stream(session, who, initiator); -+ purple_media_insert_stream(session, who, initiator); - - g_signal_emit(media, purple_media_signals[STATE_CHANGED], - 0, PURPLE_MEDIA_STATE_NEW, -============================================================ ---- libpurple/mediamanager.c 1e55c322fe59eb10d19628c4c44757ea404ba23b -+++ libpurple/mediamanager.c 0a57c7b39ee3f9a34bbb11a5722ecc7e3c70dbdd -@@ -39,7 +39,11 @@ - #ifdef USE_VV - #include - -+#ifdef HAVE_FARSIGHT - #include -+#else -+#include -+#endif - #include - - /** @copydoc _PurpleMediaManagerPrivate */ -- cgit v1.2.3-54-g00ecf