Mercurial > pidgin
diff libpurple/media.c @ 30512:0b5520bf1fe3
propagate from branch 'im.pidgin.pidgin' (head 70ee6c0f2e2858657f0eb06a128db6abd076bdb7)
to branch 'im.pidgin.cpw.malu.xmpp.google_relay' (head 641fddadf56116198e116bb86f3ddb266e3ac632)
author | Marcus Lundblad <ml@update.uu.se> |
---|---|
date | Mon, 23 Nov 2009 21:32:39 +0000 |
parents | 093c79fa01c7 867438a30bdd |
children | cb8b53a6f238 |
line wrap: on
line diff
--- a/libpurple/media.c Mon Nov 09 19:27:45 2009 +0000 +++ b/libpurple/media.c Mon Nov 23 21:32:39 2009 +0000 @@ -2281,7 +2281,8 @@ stream->session->type), NULL); stream->accepted = TRUE; - if (stream->remote_candidates != NULL) { + if (stream->remote_candidates != NULL && + stream->initiator == FALSE) { GError *err = NULL; fs_stream_set_remote_candidates(stream->stream, stream->remote_candidates, &err); @@ -2829,14 +2830,16 @@ } fsstream = fs_session_new_stream(session->session, - participant, type_direction & - FS_DIRECTION_RECV, transmitter, + participant, initiator == TRUE ? + type_direction : (type_direction & + FS_DIRECTION_RECV), transmitter, new_num_params, param, &err); g_free(param); } else { fsstream = fs_session_new_stream(session->session, - participant, type_direction & - FS_DIRECTION_RECV, transmitter, + participant, initiator == TRUE ? + type_direction : (type_direction & + FS_DIRECTION_RECV), transmitter, num_params, params, &err); } @@ -2965,7 +2968,7 @@ stream->remote_candidates = g_list_concat(stream->remote_candidates, purple_media_candidate_list_to_fs(remote_candidates)); - if (stream->accepted == TRUE) { + if (stream->initiator == TRUE || stream->accepted == TRUE) { fs_stream_set_remote_candidates(stream->stream, stream->remote_candidates, &err);