diff libpurple/mediamanager.c @ 23797:e1c8ec1259de

Updates voice and video to use Farsight 2, gets XMPP voice conferences closer to XEP-0167, and fixes a lot of bugs.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Fri, 23 May 2008 02:42:32 +0000
parents 750d700098c1
children 43b3b9ff6028
line wrap: on
line diff
--- a/libpurple/mediamanager.c	Sun Apr 13 17:53:46 2008 +0000
+++ b/libpurple/mediamanager.c	Fri May 23 02:42:32 2008 +0000
@@ -31,7 +31,7 @@
 
 #ifdef USE_FARSIGHT
 
-#include <farsight/farsight.h>
+#include <gst/farsight/fs-conference-iface.h>
 
 struct _PurpleMediaManagerPrivate
 {
@@ -127,18 +127,19 @@
 	return manager;
 }
 
-PurpleMedia*
-purple_media_manager_create_media(PurpleMediaManager *manager, 
+PurpleMedia *
+purple_media_manager_create_media(PurpleMediaManager *manager,
 				  PurpleConnection *gc,
-				  const char *screenname,
-				  FarsightStream *audio_stream,
-				  FarsightStream *video_stream)
+				  const char *conference_type,
+				  const char *remote_user)
 {
+	FsConference *conference = FS_CONFERENCE(gst_element_factory_make(conference_type, NULL));
+
 	PurpleMedia *media = PURPLE_MEDIA(g_object_new(purple_media_get_type(),
-					  "screenname", screenname,
+					  "screenname", remote_user,
 					  "connection", gc, 
-					  "audio-stream", audio_stream,
-					  "video-stream", video_stream, NULL));
+					  "farsight-conference", conference,
+					  NULL));
 	manager->priv->medias = g_list_append(manager->priv->medias, media);
 	g_signal_emit(manager, purple_media_manager_signals[INIT_MEDIA], 0, media);
 	return media;