Mercurial > pidgin
changeset 25000:2cf44cc855fe
Add candidates instead of replacing them.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Wed, 07 Jan 2009 02:30:46 +0000 |
parents | f45301cc2c84 |
children | 2a1873a30474 |
files | libpurple/media.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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",