Mercurial > pidgin.yaz
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, |