aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRicardo Salveti <rsalveti@rsalveti.net>2014-10-13 20:48:06 -0500
committerTed Gould <ted@gould.cx>2014-10-13 20:48:06 -0500
commit88956a3657cc0f0f8f76b2935a7ae46033d5c200 (patch)
tree149bec2dc97a879d2939058d78639e419854f0f5 /src
parent34caa4fae102de8d91cb6d21c0d5e6a7104c95da (diff)
downloadayatana-indicator-sound-88956a3657cc0f0f8f76b2935a7ae46033d5c200.tar.gz
ayatana-indicator-sound-88956a3657cc0f0f8f76b2935a7ae46033d5c200.tar.bz2
ayatana-indicator-sound-88956a3657cc0f0f8f76b2935a7ae46033d5c200.zip
Headphone detection
Diffstat (limited to 'src')
-rw-r--r--src/volume-control.vala15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/volume-control.vala b/src/volume-control.vala
index e09f212..c9ba42c 100644
--- a/src/volume-control.vala
+++ b/src/volume-control.vala
@@ -70,6 +70,8 @@ public class VolumeControl : Object
private double _account_service_volume = 0.0;
private Notify.Notification _notification;
+ private bool _active_port_headphone = false;
+
public signal void volume_changed (double v);
public signal void mic_volume_changed (double v);
@@ -177,6 +179,19 @@ public class VolumeControl : Object
this.notify_property ("is-playing");
}
+ /* Check if the current active port is headset/headphone */
+ /* There is not easy way to check if the port is a headset/headphone besides
+ * checking for the port name. On touch (with the pulseaudio droid element)
+ * the headset/headphone port is called 'output-headset' and 'output-headphone'.
+ * On the desktop this is usually called 'analog-output-headphones' */
+ if (i.active_port.name == "output-wired_headset" ||
+ i.active_port.name == "output-wired_headphone" ||
+ i.active_port.name == "analog-output-headphones") {
+ _active_port_headphone = true;
+ } else {
+ _active_port_headphone = false;
+ }
+
if (_pulse_use_stream_restore == false &&
_volume != volume_to_double (i.volume.max ()))
{