summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Ruprecht <maiku@pidgin.im>2009-10-26 18:45:30 +0000
committerMichael Ruprecht <maiku@pidgin.im>2009-10-26 18:45:30 +0000
commitf1a6e8eeac4cf0bfcbbc38533353c7bf92076615 (patch)
treeda2bdd0032cda50e859da7fddfcebdb6446573fb
parent9675ca1ca0c6510cd206919e28926dbb5e2f82b1 (diff)
downloadpidgin-f1a6e8eeac4cf0bfcbbc38533353c7bf92076615.tar.gz
Store remote_candidates in PurpleMedia as a GList of PurpleMediaCandidate's.
-rw-r--r--libpurple/media/media.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/libpurple/media/media.c b/libpurple/media/media.c
index 825922c161..c36003fed7 100644
--- a/libpurple/media/media.c
+++ b/libpurple/media/media.c
@@ -325,7 +325,7 @@ purple_media_stream_free(PurpleMediaStream *stream)
if (stream->local_candidates)
purple_media_candidate_list_free(stream->local_candidates);
if (stream->remote_candidates)
- fs_candidate_list_destroy(stream->remote_candidates);
+ purple_media_candidate_list_free(stream->remote_candidates);
if (stream->active_local_candidates)
fs_candidate_list_destroy(stream->active_local_candidates);
@@ -1117,8 +1117,13 @@ purple_media_stream_info(PurpleMedia *media, PurpleMediaInfoType type,
if (stream->remote_candidates != NULL) {
GError *err = NULL;
+ GList *candidates;
+
+ candidates = purple_media_candidate_list_to_fs(
+ stream->remote_candidates);
fs_stream_set_remote_candidates(stream->stream,
- stream->remote_candidates, &err);
+ candidates, &err);
+ fs_candidate_list_destroy(candidates);
if (err) {
purple_debug_error("media", "Error adding remote"
@@ -1680,11 +1685,14 @@ purple_media_add_remote_candidates(PurpleMedia *media, const gchar *sess_id,
}
stream->remote_candidates = g_list_concat(stream->remote_candidates,
- purple_media_candidate_list_to_fs(remote_candidates));
+ purple_media_candidate_list_copy(remote_candidates));
if (stream->accepted == TRUE) {
+ GList *candidates = purple_media_candidate_list_to_fs(
+ stream->remote_candidates);
fs_stream_set_remote_candidates(stream->stream,
- stream->remote_candidates, &err);
+ candidates, &err);
+ fs_candidate_list_destroy(candidates);
if (err) {
purple_debug_error("media", "Error adding remote"