| 457 google_session_handle_accept(JabberStream *js, GoogleSession *session, xmlnode *packet, xmlnode *sess) |
457 google_session_handle_accept(JabberStream *js, GoogleSession *session, xmlnode *packet, xmlnode *sess) |
| 458 { |
458 { |
| 459 xmlnode *desc_element = xmlnode_get_child(sess, "description"); |
459 xmlnode *desc_element = xmlnode_get_child(sess, "description"); |
| 460 xmlnode *codec_element = xmlnode_get_child(desc_element, "payload-type"); |
460 xmlnode *codec_element = xmlnode_get_child(desc_element, "payload-type"); |
| 461 GList *codecs = NULL; |
461 GList *codecs = NULL; |
| |
462 JabberIq *result = NULL; |
| 462 |
463 |
| 463 for (; codec_element; codec_element = |
464 for (; codec_element; codec_element = |
| 464 xmlnode_get_next_twin(codec_element)) { |
465 xmlnode_get_next_twin(codec_element)) { |
| 465 const gchar *encoding_name = |
466 const gchar *encoding_name = |
| 466 xmlnode_get_attrib(codec_element, "name"); |
467 xmlnode_get_attrib(codec_element, "name"); |
| 476 |
477 |
| 477 purple_media_set_remote_codecs(session->media, "google-voice", |
478 purple_media_set_remote_codecs(session->media, "google-voice", |
| 478 session->remote_jid, codecs); |
479 session->remote_jid, codecs); |
| 479 |
480 |
| 480 purple_media_accept(session->media); |
481 purple_media_accept(session->media); |
| |
482 |
| |
483 result = jabber_iq_new(js, JABBER_IQ_RESULT); |
| |
484 jabber_iq_set_id(result, xmlnode_get_attrib(packet, "id")); |
| |
485 xmlnode_set_attrib(result->node, "to", session->remote_jid); |
| |
486 jabber_iq_send(result); |
| 481 } |
487 } |
| 482 |
488 |
| 483 static void |
489 static void |
| 484 google_session_handle_reject(JabberStream *js, GoogleSession *session, xmlnode *packet, xmlnode *sess) |
490 google_session_handle_reject(JabberStream *js, GoogleSession *session, xmlnode *packet, xmlnode *sess) |
| 485 { |
491 { |