Mercurial > pidgin
diff libpurple/protocols/jabber/google.c @ 23821:12a16471f94e
Refactored PurpleMedia to make creating audio or video sessions virtually identical. Audio, video, and audio/video sessions now work. Also added videotestsrc to the video plugin preference.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Fri, 06 Jun 2008 07:43:03 +0000 |
parents | cbe97caec684 |
children | e23b447aa5ca |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/google.c Wed Jun 04 19:21:49 2008 +0000 +++ b/libpurple/protocols/jabber/google.c Fri Jun 06 07:43:03 2008 +0000 @@ -102,7 +102,7 @@ google_session_send_accept(GoogleSession *session) { xmlnode *sess, *desc, *payload; - GList *codecs = purple_media_get_negotiated_audio_codecs(session->media); + GList *codecs = purple_media_get_negotiated_codecs(session->media, "google-voice"); JabberIq *iq = jabber_iq_new(session->js, JABBER_IQ_SET); xmlnode_set_attrib(iq->node, "to", session->remote_jid); @@ -124,7 +124,7 @@ fs_codec_list_destroy(codecs); jabber_iq_send(iq); - gst_element_set_state(purple_media_get_audio_pipeline(session->media), GST_STATE_PLAYING); + gst_element_set_state(purple_media_get_pipeline(session->media), GST_STATE_PLAYING); } static void @@ -160,7 +160,8 @@ google_session_candidates_prepared (PurpleMedia *media, GoogleSession *session) { JabberIq *iq = jabber_iq_new(session->js, JABBER_IQ_SET); - GList *candidates = purple_media_get_local_audio_candidates(session->media); + GList *candidates = purple_media_get_local_candidates(session->media, "google-voice", + session->remote_jid); FsCandidate *transport; xmlnode *sess; xmlnode *candidate; @@ -217,7 +218,7 @@ "fsrtpconference", session->remote_jid); /* "rawudp" will need to be changed to "nice" when libnice is finished */ - purple_media_add_stream(session->media, session->remote_jid, + purple_media_add_stream(session->media, "google-voice", session->remote_jid, PURPLE_MEDIA_AUDIO, "rawudp"); desc_element = xmlnode_get_child(sess, "description"); @@ -234,7 +235,7 @@ codecs = g_list_append(codecs, codec); } - purple_media_set_remote_audio_codecs(session->media, session->remote_jid, codecs); + purple_media_set_remote_codecs(session->media, "google-voice", session->remote_jid, codecs); g_signal_connect_swapped(G_OBJECT(session->media), "accepted", G_CALLBACK(google_session_send_accept), session); @@ -282,7 +283,7 @@ list = g_list_append(list, info); } - purple_media_add_remote_audio_candidates(session->media, session->remote_jid, list); + purple_media_add_remote_candidates(session->media, "google-voice", session->remote_jid, list); fs_candidate_list_destroy(list); result = jabber_iq_new(js, JABBER_IQ_RESULT);