comparison pidgin/gtkmedia.c @ 26419:dd45432d6b69

Use purple_media_get_tee instead of purple_media_get_sink.
author Mike Ruprecht <maiku@soc.pidgin.im>
date Sun, 22 Mar 2009 21:27:43 +0000
parents 86bc2d34f689
children 0c96ac2ea5f8
comparison
equal deleted inserted replaced
26418:775920086761 26419:dd45432d6b69
675 sid != NULL && name != NULL) { 675 sid != NULL && name != NULL) {
676 pidgin_media_ready_cb(media, gtkmedia, sid); 676 pidgin_media_ready_cb(media, gtkmedia, sid);
677 } else if (state == PURPLE_MEDIA_STATE_CONNECTED && 677 } else if (state == PURPLE_MEDIA_STATE_CONNECTED &&
678 purple_media_get_session_type(media, sid) & 678 purple_media_get_session_type(media, sid) &
679 PURPLE_MEDIA_RECV_AUDIO) { 679 PURPLE_MEDIA_RECV_AUDIO) {
680 GstElement *media_sink = purple_media_get_sink(media, 680 GstElement *tee = purple_media_get_tee(media, sid, name);
681 sid, name); 681 GstIterator *iter = gst_element_iterate_src_pads(tee);
682 gtkmedia->priv->recv_level = gst_bin_get_by_name( 682 GstPad *sinkpad;
683 GST_BIN(media_sink), "recvlevel"); 683 if (gst_iterator_next(iter, (gpointer)&sinkpad)
684 == GST_ITERATOR_OK) {
685 GstPad *peer = gst_pad_get_peer(sinkpad);
686 if (peer != NULL) {
687 gtkmedia->priv->recv_level =
688 gst_bin_get_by_name(
689 GST_BIN(GST_OBJECT_PARENT(
690 peer)), "recvlevel");
691 gst_object_unref(peer);
692 }
693 gst_object_unref(sinkpad);
694 }
695 gst_iterator_free(iter);
684 } 696 }
685 } 697 }
686 698
687 static void 699 static void
688 pidgin_media_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type, 700 pidgin_media_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type,