libpurple/media.c

branch
vv
changeset 26200
6636bcf92be3
parent 26195
0106a513554b
child 26209
618cc6a7cff2
--- a/libpurple/media.c	Tue Jan 06 00:21:09 2009 +0000
+++ b/libpurple/media.c	Wed Jan 07 02:30:46 2009 +0000
@@ -66,6 +66,7 @@
 	GstElement *sink;
 
 	GList *local_candidates;
+	GList *remote_candidates;
 
 	gboolean candidates_prepared;
 
@@ -277,6 +278,8 @@
 
 	if (stream->local_candidates)
 		fs_candidate_list_destroy(stream->local_candidates);
+	if (stream->remote_candidates)
+		fs_candidate_list_destroy(stream->remote_candidates);
 
 	if (stream->local_candidate)
 		fs_candidate_destroy(stream->local_candidate);
@@ -1431,10 +1434,12 @@
 purple_media_add_remote_candidates(PurpleMedia *media, const gchar *sess_id,
 				   const gchar *name, GList *remote_candidates)
 {
-	FsStream *stream = purple_media_get_stream(media, sess_id, name)->stream;
+	PurpleMediaStream *stream = purple_media_get_stream(media, sess_id, name);
 	GError *err = NULL;
+	stream->remote_candidates = g_list_concat(stream->remote_candidates,
+			fs_candidate_list_copy(remote_candidates));
 
-	fs_stream_set_remote_candidates(stream, remote_candidates, &err);
+	fs_stream_set_remote_candidates(stream->stream, stream->remote_candidates, &err);
 
 	if (err) {
 		purple_debug_error("media", "Error adding remote candidates: %s\n",

mercurial