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",