Mercurial > pidgin
comparison libpurple/protocols/jabber/jingle/rtp.c @ 26321:2c9fb8ac325b
Use stream-info instead of state-changed for hangup and reject.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sat, 21 Mar 2009 00:34:29 +0000 |
parents | 85c571d11417 |
children | 86bc2d34f689 |
comparison
equal
deleted
inserted
replaced
26320:8b4394e84633 | 26321:2c9fb8ac325b |
---|---|
437 static void | 437 static void |
438 jingle_rtp_state_changed_cb(PurpleMedia *media, PurpleMediaStateChangedType type, | 438 jingle_rtp_state_changed_cb(PurpleMedia *media, PurpleMediaStateChangedType type, |
439 gchar *sid, gchar *name, JingleSession *session) | 439 gchar *sid, gchar *name, JingleSession *session) |
440 { | 440 { |
441 purple_debug_info("jingle-rtp", "state-changed: type %d id: %s name: %s\n", type, sid, name); | 441 purple_debug_info("jingle-rtp", "state-changed: type %d id: %s name: %s\n", type, sid, name); |
442 | 442 } |
443 if ((type == PURPLE_MEDIA_STATE_CHANGED_REJECTED || | 443 |
444 type == PURPLE_MEDIA_STATE_CHANGED_HANGUP) && | 444 static void |
445 sid == NULL && name == NULL) { | 445 jingle_rtp_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type, |
446 gchar *sid, gchar *name, JingleSession *session) | |
447 { | |
448 purple_debug_info("jingle-rtp", "stream-info: type %d " | |
449 "id: %s name: %s\n", type, sid, name); | |
450 if (type == PURPLE_MEDIA_INFO_HANGUP) { | |
446 jabber_iq_send(jingle_session_terminate_packet( | 451 jabber_iq_send(jingle_session_terminate_packet( |
447 session, "success")); | 452 session, "success")); |
453 g_object_unref(session); | |
454 } else if (type == PURPLE_MEDIA_INFO_REJECT) { | |
455 jabber_iq_send(jingle_session_terminate_packet( | |
456 session, "decline")); | |
448 g_object_unref(session); | 457 g_object_unref(session); |
449 } | 458 } |
450 } | 459 } |
451 | 460 |
452 static void | 461 static void |
510 G_CALLBACK(jingle_rtp_candidates_prepared_cb), session); | 519 G_CALLBACK(jingle_rtp_candidates_prepared_cb), session); |
511 g_signal_connect(G_OBJECT(media), "codecs-changed", | 520 g_signal_connect(G_OBJECT(media), "codecs-changed", |
512 G_CALLBACK(jingle_rtp_codecs_changed_cb), session); | 521 G_CALLBACK(jingle_rtp_codecs_changed_cb), session); |
513 g_signal_connect(G_OBJECT(media), "state-changed", | 522 g_signal_connect(G_OBJECT(media), "state-changed", |
514 G_CALLBACK(jingle_rtp_state_changed_cb), session); | 523 G_CALLBACK(jingle_rtp_state_changed_cb), session); |
524 g_signal_connect(G_OBJECT(media), "stream-info", | |
525 G_CALLBACK(jingle_rtp_stream_info_cb), session); | |
515 | 526 |
516 g_object_unref(session); | 527 g_object_unref(session); |
517 return media; | 528 return media; |
518 } | 529 } |
519 | 530 |