Blame SOURCES/0001-alsa-mixer-Add-path-for-Headset-Microphone.patch

4bc40d
From 6452f86519c487a4bb4d6f048b0efd558d88814f Mon Sep 17 00:00:00 2001
4bc40d
From: David Henningsson <david.henningsson@canonical.com>
4bc40d
Date: Thu, 14 Mar 2013 09:14:34 +0100
4bc40d
Subject: [PATCH 1/2] alsa-mixer: Add path for Headset Microphone
4bc40d
4bc40d
In kernel 3.10, some devices will have the "Headset Microphone" name
4bc40d
to indicate that the mic is part of a mic + headphone combo, i e, a headset.
4bc40d
---
4bc40d
 src/Makefile.am                                    |  1 +
4bc40d
 src/modules/alsa/alsa-mixer.c                      |  1 +
4bc40d
 .../alsa/mixer/paths/analog-input-headset-mic.conf | 99 ++++++++++++++++++++++
4bc40d
 src/modules/alsa/mixer/profile-sets/default.conf   |  4 +-
4bc40d
 .../alsa/mixer/profile-sets/extra-hdmi.conf        |  4 +-
4bc40d
 5 files changed, 105 insertions(+), 4 deletions(-)
4bc40d
 create mode 100644 src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
4bc40d
4bc40d
diff --git a/src/Makefile.am b/src/Makefile.am
4bc40d
index d360201..6d4425d 100644
4bc40d
--- a/src/Makefile.am
4bc40d
+++ b/src/Makefile.am
4bc40d
@@ -1176,6 +1176,7 @@ dist_alsapaths_DATA = \
4bc40d
 		modules/alsa/mixer/paths/analog-input-dock-mic.conf \
4bc40d
 		modules/alsa/mixer/paths/analog-input-front-mic.conf \
4bc40d
 		modules/alsa/mixer/paths/analog-input-headphone-mic.conf \
4bc40d
+		modules/alsa/mixer/paths/analog-input-headset-mic.conf \
4bc40d
 		modules/alsa/mixer/paths/analog-input-internal-mic.conf \
4bc40d
 		modules/alsa/mixer/paths/analog-input-internal-mic-always.conf \
4bc40d
 		modules/alsa/mixer/paths/analog-input-rear-mic.conf \
4bc40d
diff --git a/src/Makefile.in b/src/Makefile.in
4bc40d
index d360201..6d4425d 100644
4bc40d
--- a/src/Makefile.in
4bc40d
+++ b/src/Makefile.in
4bc40d
@@ -2615,6 +2615,7 @@ am__dist_alsapaths_DATA_DIST =  \
4bc40d
 	modules/alsa/mixer/paths/analog-input-dock-mic.conf \
4bc40d
 	modules/alsa/mixer/paths/analog-input-front-mic.conf \
4bc40d
 	modules/alsa/mixer/paths/analog-input-headphone-mic.conf \
4bc40d
+	modules/alsa/mixer/paths/analog-input-headset-mic.conf \
4bc40d
 	modules/alsa/mixer/paths/analog-input-internal-mic.conf \
4bc40d
 	modules/alsa/mixer/paths/analog-input-internal-mic-always.conf \
4bc40d
 	modules/alsa/mixer/paths/analog-input-rear-mic.conf \
4bc40d
@@ -3607,6 +3608,7 @@ libavahi_wrap_la_LIBADD = $(AM_LIBADD) $
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-dock-mic.conf \
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-front-mic.conf \
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-headphone-mic.conf \
4bc40d
+@HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-headset-mic.conf \
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-internal-mic.conf \
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-internal-mic-always.conf \
4bc40d
 @HAVE_ALSA_TRUE@		modules/alsa/mixer/paths/analog-input-rear-mic.conf \
4bc40d
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
4bc40d
index 761aae1..ee80d25 100644
4bc40d
--- a/src/modules/alsa/alsa-mixer.c
4bc40d
+++ b/src/modules/alsa/alsa-mixer.c
4bc40d
@@ -2336,6 +2336,7 @@ static int path_verify(pa_alsa_path *p) {
4bc40d
         { "analog-input-microphone-rear",     N_("Rear Microphone") },
4bc40d
         { "analog-input-microphone-dock",     N_("Dock Microphone") },
4bc40d
         { "analog-input-microphone-internal", N_("Internal Microphone") },
4bc40d
+        { "analog-input-microphone-headset",  N_("Headset Microphone") },
4bc40d
         { "analog-input-linein",        N_("Line In") },
4bc40d
         { "analog-input-radio",         N_("Radio") },
4bc40d
         { "analog-input-video",         N_("Video") },
4bc40d
diff --git a/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
4bc40d
new file mode 100644
4bc40d
index 0000000..c5aff1c
4bc40d
--- /dev/null
4bc40d
+++ b/src/modules/alsa/mixer/paths/analog-input-headset-mic.conf
4bc40d
@@ -0,0 +1,99 @@
4bc40d
+# This file is part of PulseAudio.
4bc40d
+#
4bc40d
+# PulseAudio is free software; you can redistribute it and/or modify
4bc40d
+# it under the terms of the GNU Lesser General Public License as
4bc40d
+# published by the Free Software Foundation; either version 2.1 of the
4bc40d
+# License, or (at your option) any later version.
4bc40d
+#
4bc40d
+# PulseAudio is distributed in the hope that it will be useful, but
4bc40d
+# WITHOUT ANY WARRANTY; without even the implied warranty of
4bc40d
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4bc40d
+# General Public License for more details.
4bc40d
+#
4bc40d
+# You should have received a copy of the GNU Lesser General Public License
4bc40d
+# along with PulseAudio; if not, write to the Free Software Foundation,
4bc40d
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
4bc40d
+
4bc40d
+; For devices where a 'Headset Mic' or 'Headset Mic Boost' element exists
4bc40d
+;
4bc40d
+; See analog-output.conf.common for an explanation on the directives
4bc40d
+
4bc40d
+[General]
4bc40d
+priority = 87
4bc40d
+name = analog-input-microphone-headset
4bc40d
+
4bc40d
+[Jack Headset Mic]
4bc40d
+required-any = any
4bc40d
+
4bc40d
+[Jack Headset Mic Phantom]
4bc40d
+state.plugged = unknown
4bc40d
+state.unplugged = unknown
4bc40d
+required-any = any
4bc40d
+
4bc40d
+[Element Headset Mic Boost]
4bc40d
+required-any = any
4bc40d
+switch = select
4bc40d
+volume = merge
4bc40d
+override-map.1 = all
4bc40d
+override-map.2 = all-left,all-right
4bc40d
+
4bc40d
+[Element Headset Mic]
4bc40d
+required-any = any
4bc40d
+switch = mute
4bc40d
+volume = merge
4bc40d
+override-map.1 = all
4bc40d
+override-map.2 = all-left,all-right
4bc40d
+
4bc40d
+[Element Capture]
4bc40d
+switch = mute
4bc40d
+volume = merge
4bc40d
+override-map.1 = all
4bc40d
+override-map.2 = all-left,all-right
4bc40d
+
4bc40d
+[Element Input Source]
4bc40d
+enumeration = select
4bc40d
+
4bc40d
+[Option Input Source:Headset Mic]
4bc40d
+name = Headset Microphone
4bc40d
+required-any = any
4bc40d
+
4bc40d
+[Element Capture Source]
4bc40d
+enumeration = select
4bc40d
+
4bc40d
+[Option Capture Source:Headset Mic]
4bc40d
+name = Headset Microphone
4bc40d
+required-any = any
4bc40d
+
4bc40d
+[Element Front Mic]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Internal Mic]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Rear Mic]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Dock Mic]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Dock Mic Boost]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Internal Mic Boost]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Front Mic Boost]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+[Element Rear Mic Boost]
4bc40d
+switch = off
4bc40d
+volume = off
4bc40d
+
4bc40d
+.include analog-input-mic.conf.common
4bc40d
diff --git a/src/modules/alsa/mixer/profile-sets/default.conf b/src/modules/alsa/mixer/profile-sets/default.conf
4bc40d
index b040036..c805d36 100644
4bc40d
--- a/src/modules/alsa/mixer/profile-sets/default.conf
4bc40d
+++ b/src/modules/alsa/mixer/profile-sets/default.conf
4bc40d
@@ -102,14 +102,14 @@ auto-profiles = yes
4bc40d
 device-strings = hw:%f
4bc40d
 channel-map = mono
4bc40d
 paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
4bc40d
-paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
4bc40d
+paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
4bc40d
 priority = 1
4bc40d
 
4bc40d
 [Mapping analog-stereo]
4bc40d
 device-strings = front:%f hw:%f
4bc40d
 channel-map = left,right
4bc40d
 paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
4bc40d
-paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic
4bc40d
+paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
4bc40d
 priority = 10
4bc40d
 
4bc40d
 [Mapping analog-surround-40]
4bc40d
diff --git a/src/modules/alsa/mixer/profile-sets/extra-hdmi.conf b/src/modules/alsa/mixer/profile-sets/extra-hdmi.conf
4bc40d
index 7075314..aaf4d91 100644
4bc40d
--- a/src/modules/alsa/mixer/profile-sets/extra-hdmi.conf
4bc40d
+++ b/src/modules/alsa/mixer/profile-sets/extra-hdmi.conf
4bc40d
@@ -28,14 +28,14 @@ auto-profiles = yes
4bc40d
 device-strings = hw:%f
4bc40d
 channel-map = mono
4bc40d
 paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
4bc40d
-paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
4bc40d
+paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
4bc40d
 priority = 1
4bc40d
 
4bc40d
 [Mapping analog-stereo]
4bc40d
 device-strings = front:%f hw:%f
4bc40d
 channel-map = left,right
4bc40d
 paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
4bc40d
-paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic
4bc40d
+paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
4bc40d
 priority = 10
4bc40d
 
4bc40d
 [Mapping analog-surround-40]
4bc40d
-- 
4bc40d
1.8.5.3
4bc40d