# HG changeset patch # User Mike Ruprecht # Date 1231295446 0 # Node ID 2cf44cc855fe482e36b91162086280992fd5d997 # Parent f45301cc2c84409eee1459c2b6f8c3b6c7695820 Add candidates instead of replacing them. diff -r f45301cc2c84 -r 2cf44cc855fe libpurple/media.c --- 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",