diff libpurple/media/media.c @ 29561:7713312c4ab0

Store active_local_candidates in PurpleMedia as a GList of PurpleMediaCandidate's.
author maiku@pidgin.im
date Mon, 26 Oct 2009 19:01:30 +0000
parents 18571ea6e44a
children 1156bf88b4d3
line wrap: on
line diff
--- a/libpurple/media/media.c	Mon Oct 26 18:45:30 2009 +0000
+++ b/libpurple/media/media.c	Mon Oct 26 19:01:30 2009 +0000
@@ -328,7 +328,8 @@
 		purple_media_candidate_list_free(stream->remote_candidates);
 
 	if (stream->active_local_candidates)
-		fs_candidate_list_destroy(stream->active_local_candidates);
+		purple_media_candidate_list_free(
+				stream->active_local_candidates);
 	if (stream->active_remote_candidates)
 		fs_candidate_list_destroy(stream->active_remote_candidates);
 
@@ -1241,14 +1242,14 @@
 
 	iter = stream->active_local_candidates;
 	for(; iter; iter = g_list_next(iter)) {
-		FsCandidate *c = iter->data;
-		if (id == c->component_id) {
-			fs_candidate_destroy(c);
+		PurpleMediaCandidate *c = iter->data;
+		if (id == purple_media_candidate_get_component_id(c)) {
+			g_object_unref(c);
 			stream->active_local_candidates =
 					g_list_delete_link(iter, iter);
 			stream->active_local_candidates = g_list_prepend(
 					stream->active_local_candidates,
-					purple_media_candidate_to_fs(
+					purple_media_candidate_copy(
 					local_candidate));
 			break;
 		}
@@ -1256,7 +1257,7 @@
 	if (iter == NULL)
 		stream->active_local_candidates = g_list_prepend(
 				stream->active_local_candidates,
-				purple_media_candidate_to_fs(
+				purple_media_candidate_copy(
 				local_candidate));
 
 	id = purple_media_candidate_get_component_id(local_candidate);
@@ -1717,7 +1718,7 @@
 	PurpleMediaStream *stream;
 	g_return_val_if_fail(PURPLE_IS_MEDIA(media), NULL);
 	stream = purple_media_get_stream(media, sess_id, participant);
-	return purple_media_candidate_list_from_fs(
+	return purple_media_candidate_list_copy(
 			stream->active_local_candidates);
 #else
 	return NULL;