diff options
author | Xavi Garcia Mena <xavi.garcia.mena@canonical.com> | 2016-03-03 16:13:56 +0100 |
---|---|---|
committer | Xavi Garcia Mena <xavi.garcia.mena@canonical.com> | 2016-03-03 16:13:56 +0100 |
commit | 2a6cae12898e132e9c50973999d85b0e80a33f4a (patch) | |
tree | 3d00979eb5e2a8d1f2e74c04ad93e378a29cd44f /src | |
parent | 19d447425a8eaee64291ce1667d82506de065756 (diff) | |
download | ayatana-indicator-sound-2a6cae12898e132e9c50973999d85b0e80a33f4a.tar.gz ayatana-indicator-sound-2a6cae12898e132e9c50973999d85b0e80a33f4a.tar.bz2 ayatana-indicator-sound-2a6cae12898e132e9c50973999d85b0e80a33f4a.zip |
Added is_external_mic function to check for an external microphone
Diffstat (limited to 'src')
-rw-r--r-- | src/volume-control-pulse.vala | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/volume-control-pulse.vala b/src/volume-control-pulse.vala index 92f12a3..9d572a3 100644 --- a/src/volume-control-pulse.vala +++ b/src/volume-control-pulse.vala @@ -141,6 +141,19 @@ public class VolumeControlPulse : VolumeControl return ret_output; } + private bool is_external_mic (SourceInfo? sink) { + if (sink.active_port != null && + ( (sink.active_port.name.contains ("headphone") || + sink.active_port.name.contains ("headset") || + sink.active_port.name.contains ("mic") ) && + (!sink.active_port.name.contains ("internal") && + !sink.active_port.name.contains ("builtin")) )) { + return true; + } + return false; + } + + /* PulseAudio logic*/ private void context_events_cb (Context c, Context.SubscriptionEventType t, uint32 index) { @@ -232,12 +245,7 @@ public class VolumeControlPulse : VolumeControl if (i == null) return; - if (i.active_port != null && - ( (i.active_port.name.contains ("headphone") || - i.active_port.name.contains ("headset") || - i.active_port.name.contains ("mic") ) && - (!i.active_port.name.contains ("internal") && - !i.active_port.name.contains ("builtin")) )) { + if (is_external_mic (i)) { this.active_mic = true; _external_mic_detected = true; } else { |