Mercurial > pidgin
comparison libpurple/protocols/jabber/jingle/rtp.c @ 24991:b0e6a64cbf2e
Use the new ready signal instead of accept to send a session-accept.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sun, 04 Jan 2009 11:12:47 +0000 |
parents | 607d82dce00e |
children | d881fc5d907f |
comparison
equal
deleted
inserted
replaced
24990:607d82dce00e | 24991:b0e6a64cbf2e |
---|---|
262 return NULL; | 262 return NULL; |
263 } | 263 } |
264 } | 264 } |
265 | 265 |
266 static void | 266 static void |
267 jingle_rtp_accept_cb(PurpleMedia *media, JingleSession *session) | |
268 { | |
269 jabber_iq_send(jingle_session_to_packet(session, JINGLE_TRANSPORT_INFO)); | |
270 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_ACCEPT)); | |
271 } | |
272 | |
273 static void | |
274 jingle_rtp_reject_cb(PurpleMedia *media, JingleSession *session) | 267 jingle_rtp_reject_cb(PurpleMedia *media, JingleSession *session) |
275 { | 268 { |
276 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_TERMINATE)); | 269 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_TERMINATE)); |
277 g_object_unref(session); | 270 g_object_unref(session); |
278 } | 271 } |
318 static void | 311 static void |
319 jingle_rtp_ready_cb(PurpleMedia *media, gchar *sid, gchar *name, JingleSession *session) | 312 jingle_rtp_ready_cb(PurpleMedia *media, gchar *sid, gchar *name, JingleSession *session) |
320 { | 313 { |
321 purple_debug_info("rtp", "ready-new: session: %s name: %s\n", sid, name); | 314 purple_debug_info("rtp", "ready-new: session: %s name: %s\n", sid, name); |
322 | 315 |
323 if (sid == NULL && name == NULL && jingle_session_is_initiator(session) == TRUE) { | 316 if (sid == NULL && name == NULL) { |
324 GList *contents = jingle_session_get_contents(session); | 317 if (jingle_session_is_initiator(session) == TRUE) { |
325 | 318 GList *contents = jingle_session_get_contents(session); |
326 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_INITIATE)); | 319 |
327 | 320 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_INITIATE)); |
328 for (; contents; contents = g_list_next(contents)) { | 321 |
329 JingleContent *content = (JingleContent *)contents->data; | 322 for (; contents; contents = g_list_next(contents)) { |
330 JingleTransport *transport = jingle_content_get_transport(content); | 323 JingleContent *content = (JingleContent *)contents->data; |
331 if (JINGLE_IS_ICEUDP(transport)) | 324 JingleTransport *transport = jingle_content_get_transport(content); |
332 jabber_iq_send(jingle_session_to_packet(session, JINGLE_TRANSPORT_INFO)); | 325 if (JINGLE_IS_ICEUDP(transport)) |
326 jabber_iq_send(jingle_session_to_packet(session, | |
327 JINGLE_TRANSPORT_INFO)); | |
328 } | |
329 } else { | |
330 jabber_iq_send(jingle_session_to_packet(session, JINGLE_TRANSPORT_INFO)); | |
331 jabber_iq_send(jingle_session_to_packet(session, JINGLE_SESSION_ACCEPT)); | |
333 } | 332 } |
334 } | 333 } |
335 } | 334 } |
336 | 335 |
337 static PurpleMedia * | 336 static PurpleMedia * |
359 } | 358 } |
360 purple_debug_info("jingle-rtp", "inserting media with sid: %s into table\n", sid); | 359 purple_debug_info("jingle-rtp", "inserting media with sid: %s into table\n", sid); |
361 g_hash_table_insert(js->medias, sid, media); | 360 g_hash_table_insert(js->medias, sid, media); |
362 | 361 |
363 /* connect callbacks */ | 362 /* connect callbacks */ |
364 g_signal_connect(G_OBJECT(media), "accepted", | |
365 G_CALLBACK(jingle_rtp_accept_cb), session); | |
366 g_signal_connect(G_OBJECT(media), "reject", | 363 g_signal_connect(G_OBJECT(media), "reject", |
367 G_CALLBACK(jingle_rtp_reject_cb), session); | 364 G_CALLBACK(jingle_rtp_reject_cb), session); |
368 g_signal_connect(G_OBJECT(media), "hangup", | 365 g_signal_connect(G_OBJECT(media), "hangup", |
369 G_CALLBACK(jingle_rtp_hangup_cb), session); | 366 G_CALLBACK(jingle_rtp_hangup_cb), session); |
370 g_signal_connect(G_OBJECT(media), "new-candidate", | 367 g_signal_connect(G_OBJECT(media), "new-candidate", |