Mercurial > pidgin
diff libpurple/media/backend-fs2.c @ 31375:4f2aac5967bb
Make the simple silence suppression stuff optional per-account. Fixes #13180.
committer: John Bailey <rekkanoryo@rekkanoryo.org>
author | jakub.adam@ktknet.cz |
---|---|
date | Sun, 13 Mar 2011 18:17:14 +0000 |
parents | 017b7ff5a894 |
children | 3fb443b6460c |
line wrap: on
line diff
--- a/libpurple/media/backend-fs2.c Sun Mar 13 18:14:04 2011 +0000 +++ b/libpurple/media/backend-fs2.c Sun Mar 13 18:17:14 2011 +0000 @@ -155,13 +155,7 @@ static void purple_media_backend_fs2_init(PurpleMediaBackendFs2 *self) -{ - PurpleMediaBackendFs2Private *priv = - PURPLE_MEDIA_BACKEND_FS2_GET_PRIVATE(self); - - priv->silence_threshold = purple_prefs_get_int( - "/purple/media/audio/silence_threshold") / 100.0; -} +{} static gboolean event_probe_cb(GstPad *srcpad, GstEvent *event, gboolean release_pad) @@ -817,9 +811,11 @@ if (!strncmp(name, "sendlevel_", 10)) { session = get_session(self, name+10); - percent = gst_msg_db_to_percent(msg, "decay"); - g_object_set(session->srcvalve, - "drop", (percent < priv->silence_threshold), NULL); + if (priv->silence_threshold > 0) { + percent = gst_msg_db_to_percent(msg, "decay"); + g_object_set(session->srcvalve, + "drop", (percent < priv->silence_threshold), NULL); + } } g_free(name); @@ -1255,6 +1251,13 @@ return FALSE; } + if (purple_account_get_silence_suppression( + purple_media_get_account(priv->media))) + priv->silence_threshold = purple_prefs_get_int( + "/purple/media/audio/silence_threshold") / 100.0; + else + priv->silence_threshold = 0; + pipeline = purple_media_manager_get_pipeline( purple_media_get_manager(priv->media));