Mercurial > pidgin
comparison libpurple/media/media.c @ 29193:bd6279df50de
Move mute functionality into the Fs2 media backend.
author | maiku@pidgin.im |
---|---|
date | Tue, 27 Oct 2009 21:32:11 +0000 |
parents | 0761fc41bbe3 |
children | c08c36bd009d |
comparison
equal
deleted
inserted
replaced
29192:0761fc41bbe3 | 29193:bd6279df50de |
---|---|
714 g_list_delete_link(streams, streams)) { | 714 g_list_delete_link(streams, streams)) { |
715 PurpleMediaStream *stream = streams->data; | 715 PurpleMediaStream *stream = streams->data; |
716 | 716 |
717 stream->accepted = TRUE; | 717 stream->accepted = TRUE; |
718 } | 718 } |
719 } else if (local == TRUE && (type == PURPLE_MEDIA_INFO_MUTE || | |
720 type == PURPLE_MEDIA_INFO_UNMUTE)) { | |
721 GList *sessions; | |
722 gboolean active = (type == PURPLE_MEDIA_INFO_MUTE); | |
723 | |
724 g_return_if_fail(PURPLE_IS_MEDIA(media)); | |
725 | |
726 if (session_id == NULL) | |
727 sessions = g_hash_table_get_values( | |
728 media->priv->sessions); | |
729 else | |
730 sessions = g_list_prepend(NULL, | |
731 purple_media_get_session( | |
732 media, session_id)); | |
733 | |
734 purple_debug_info("media", "Turning mute %s\n", | |
735 active ? "on" : "off"); | |
736 | |
737 for (; sessions; sessions = g_list_delete_link( | |
738 sessions, sessions)) { | |
739 PurpleMediaSession *session = sessions->data; | |
740 if (session->type & PURPLE_MEDIA_SEND_AUDIO) { | |
741 gchar *name = g_strdup_printf("volume_%s", | |
742 session->id); | |
743 GstElement *volume = gst_bin_get_by_name( | |
744 GST_BIN(session->media-> | |
745 priv->confbin), name); | |
746 g_free(name); | |
747 g_object_set(volume, "mute", active, NULL); | |
748 } | |
749 } | |
750 } | 719 } |
751 | 720 |
752 g_signal_emit(media, purple_media_signals[STREAM_INFO], | 721 g_signal_emit(media, purple_media_signals[STREAM_INFO], |
753 0, type, session_id, participant, local); | 722 0, type, session_id, participant, local); |
754 | 723 |