comparison 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
comparison
equal deleted inserted replaced
30511:4b7d599b5a00 30512:0b5520bf1fe3
2279 g_object_set(G_OBJECT(stream->stream), "direction", 2279 g_object_set(G_OBJECT(stream->stream), "direction",
2280 purple_media_to_fs_stream_direction( 2280 purple_media_to_fs_stream_direction(
2281 stream->session->type), NULL); 2281 stream->session->type), NULL);
2282 stream->accepted = TRUE; 2282 stream->accepted = TRUE;
2283 2283
2284 if (stream->remote_candidates != NULL) { 2284 if (stream->remote_candidates != NULL &&
2285 stream->initiator == FALSE) {
2285 GError *err = NULL; 2286 GError *err = NULL;
2286 fs_stream_set_remote_candidates(stream->stream, 2287 fs_stream_set_remote_candidates(stream->stream,
2287 stream->remote_candidates, &err); 2288 stream->remote_candidates, &err);
2288 2289
2289 if (err) { 2290 if (err) {
2827 return FALSE; 2828 return FALSE;
2828 } 2829 }
2829 } 2830 }
2830 2831
2831 fsstream = fs_session_new_stream(session->session, 2832 fsstream = fs_session_new_stream(session->session,
2832 participant, type_direction & 2833 participant, initiator == TRUE ?
2833 FS_DIRECTION_RECV, transmitter, 2834 type_direction : (type_direction &
2835 FS_DIRECTION_RECV), transmitter,
2834 new_num_params, param, &err); 2836 new_num_params, param, &err);
2835 g_free(param); 2837 g_free(param);
2836 } else { 2838 } else {
2837 fsstream = fs_session_new_stream(session->session, 2839 fsstream = fs_session_new_stream(session->session,
2838 participant, type_direction & 2840 participant, initiator == TRUE ?
2839 FS_DIRECTION_RECV, transmitter, 2841 type_direction : (type_direction &
2842 FS_DIRECTION_RECV), transmitter,
2840 num_params, params, &err); 2843 num_params, params, &err);
2841 } 2844 }
2842 2845
2843 if (fsstream == NULL) { 2846 if (fsstream == NULL) {
2844 purple_debug_error("media", 2847 purple_debug_error("media",
2963 } 2966 }
2964 2967
2965 stream->remote_candidates = g_list_concat(stream->remote_candidates, 2968 stream->remote_candidates = g_list_concat(stream->remote_candidates,
2966 purple_media_candidate_list_to_fs(remote_candidates)); 2969 purple_media_candidate_list_to_fs(remote_candidates));
2967 2970
2968 if (stream->accepted == TRUE) { 2971 if (stream->initiator == TRUE || stream->accepted == TRUE) {
2969 fs_stream_set_remote_candidates(stream->stream, 2972 fs_stream_set_remote_candidates(stream->stream,
2970 stream->remote_candidates, &err); 2973 stream->remote_candidates, &err);
2971 2974
2972 if (err) { 2975 if (err) {
2973 purple_debug_error("media", "Error adding remote" 2976 purple_debug_error("media", "Error adding remote"