/pidgin/main: b709356517b5: mediamanager: ignore PulseAudio moni...
Jakub Adam <[email protected]> Mon, 18 Jul 2016 00:33:09 -0400
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: b709356517b522c4215b39e56d44a2bdceb9d4ba Author: Jakub Adam <[email protected]> Date: 2016-06-22 09:37 +0200 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/b709356517b5 Description: mediamanager: ignore PulseAudio monitors Ignore PulseAudio monitor audio sources since they have little use in the context of telephony. diffstat: libpurple/mediamanager.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) diffs (55 lines): diff --git a/libpurple/mediamanager.c b/libpurple/mediamanager.c --- a/libpurple/mediamanager.c +++ b/libpurple/mediamanager.c @@ -1944,6 +1944,40 @@ gst_device_create_cb(PurpleMediaElementI return result; } +static gboolean +device_is_ignored(GstDevice *device) +{ + gboolean result = FALSE; + +#if GST_CHECK_VERSION(1, 6, 0) + gchar *device_class; + + g_return_val_if_fail(device, TRUE); + + device_class = gst_device_get_device_class(device); + + /* Ignore PulseAudio monitor audio sources since they have little use + * in the context of telephony.*/ + if (purple_strequal(device_class, "Audio/Source")) { + GstStructure *properties; + const gchar *pa_class; + + properties = gst_device_get_properties(device); + + pa_class = gst_structure_get_string(properties, "device.class"); + if (purple_strequal(pa_class, "monitor")) { + result = TRUE; + } + + gst_structure_free(properties); + } + + g_free(device_class); +#endif /* GST_CHECK_VERSION(1, 6, 0) */ + + return result; +} + static void purple_media_manager_register_gst_device(PurpleMediaManager *manager, GstDevice *device) @@ -1954,6 +1988,10 @@ purple_media_manager_register_gst_device gchar *device_class; gchar *id; + if (device_is_ignored(device)) { + return; + } + name = gst_device_get_display_name(device); device_class = gst_device_get_device_class(device); _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits