[Xfce4-commits] [panel-plugins/xfce4-pulseaudio-plugin] 01/01: Change default devices when changed from external application (bug #13908)

noreply at xfce.org noreply at xfce.org
Wed Nov 22 05:32:11 CET 2017


This is an automated email from the git hooks/post-receive script.

b   l   u   e   s   a   b   r   e       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository panel-plugins/xfce4-pulseaudio-plugin.

commit 1f501d24799fb7b132b1e36e0278ae1c89021bcd
Author: Sean Davis <smd.seandavis at gmail.com>
Date:   Tue Nov 21 23:32:05 2017 -0500

    Change default devices when changed from external application (bug #13908)
---
 panel-plugin/pulseaudio-volume.c | 13 +++++++++++--
 panel-plugin/pulseaudio-volume.h |  4 ++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/panel-plugin/pulseaudio-volume.c b/panel-plugin/pulseaudio-volume.c
index df93d13..6a2f1a0 100644
--- a/panel-plugin/pulseaudio-volume.c
+++ b/panel-plugin/pulseaudio-volume.c
@@ -262,6 +262,9 @@ pulseaudio_volume_server_info_cb (pa_context           *context,
   PulseaudioVolume *volume = PULSEAUDIO_VOLUME (userdata);
   if (i == NULL) return;
 
+  pulseaudio_volume_set_default_input (volume, i->default_source_name);
+  pulseaudio_volume_set_default_output (volume, i->default_sink_name);
+
   pulseaudio_debug ("server: %s@%s, v.%s", i->user_name, i->server_name, i->server_version);
   pa_context_get_sink_info_by_name (context, i->default_sink_name, pulseaudio_volume_sink_info_cb, volume);
   pa_context_get_source_info_by_name (context, i->default_source_name, pulseaudio_volume_source_info_cb, volume);
@@ -902,8 +905,11 @@ pulseaudio_volume_default_sink_changed (pa_context *context,
 
 void
 pulseaudio_volume_set_default_output (PulseaudioVolume *volume,
-                                      gchar            *name)
+                                      const gchar      *name)
 {
+  if (g_strcmp0(name, volume->default_sink_name) == 0)
+    return;
+
   g_free (volume->default_sink_name);
   volume->default_sink_name = g_strdup (name);
 
@@ -942,8 +948,11 @@ pulseaudio_volume_default_source_changed (pa_context *context,
 
 void
 pulseaudio_volume_set_default_input (PulseaudioVolume *volume,
-                                     gchar            *name)
+                                     const gchar      *name)
 {
+  if (g_strcmp0 (name, volume->default_source_name) == 0)
+    return;
+
   g_free (volume->default_source_name);
   volume->default_source_name = g_strdup (name);
 
diff --git a/panel-plugin/pulseaudio-volume.h b/panel-plugin/pulseaudio-volume.h
index 2bef77f..33cff96 100644
--- a/panel-plugin/pulseaudio-volume.h
+++ b/panel-plugin/pulseaudio-volume.h
@@ -63,14 +63,14 @@ gchar                  *pulseaudio_volume_get_output_by_name      (PulseaudioVol
                                                                    gchar            *name);
 const gchar            *pulseaudio_volume_get_default_output      (PulseaudioVolume *volume);
 void                    pulseaudio_volume_set_default_output      (PulseaudioVolume *volume,
-                                                                   gchar            *name);
+                                                                   const gchar      *name);
 
 GList                  *pulseaudio_volume_get_input_list          (PulseaudioVolume *volume);
 gchar                  *pulseaudio_volume_get_input_by_name       (PulseaudioVolume *volume,
                                                                    gchar            *name);
 const gchar            *pulseaudio_volume_get_default_input       (PulseaudioVolume *volume);
 void                    pulseaudio_volume_set_default_input       (PulseaudioVolume *volume,
-                                                                   gchar            *name);
+                                                                   const gchar      *name);
 
 G_END_DECLS
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list