[alsa-devel] [PATCH v2 1/2] ALSA: jack: create jack kcontrols for every jack input device
David Henningsson
david.henningsson at canonical.com
Thu Mar 26 07:42:14 CET 2015
On 2015-03-25 14:53, Jie, Yang wrote:
>
> Thank you for comprehensive summarizing, David.
> Can you help give more description as below?
>
> ~Keyon
>
>> -----Original Message-----
>> From: David Henningsson [mailto:david.henningsson at canonical.com]
>> Sent: Monday, March 23, 2015 7:51 PM
>> To: Tanu Kaskinen; Takashi Iwai
>> Cc: Jie, Yang; perex at perex.cz; broonie at kernel.org; alsa-devel at alsa-
>> project.org; Girdwood, Liam R; Liam Girdwood
>> Subject: Re: [PATCH v2 1/2] ALSA: jack: create jack kcontrols for every jack
>> input device
>>
>>
>>
>> On 2015-03-23 11:56, Tanu Kaskinen wrote:
>>> One thing that is unclear for me is that how are those jacks
>>> represented that support any of headsets/headphones/microphones, but
>>> don't provide information about which device type has been plugged in.
>>
>> For headphone or headset, independent switches:
>>
>> * "Headphone Jack"
>> * "Headset Mic Jack"
> [Keyon] here for the most common headset jack
> (SND_JACK_HEADPHONE | SND_JACK_MICROPHONE), we should create
> two independent kctls/switches--"Headphone Jack" + "Headset Mic Jack",
> right?
>
> so, is it possible that there is only "Mic Jack" in this case? I mean that
> only input(no output, no physical headphone/speaker jack) jack exist.
>
> If yes, then we may need change "Headset Mic Jack" to "Mic Jack"?
I'm not sure I understand your question - of course there are input only
jacks, but they would then be SND_JACK_MICROPHONE only, and also
labelled "Mic Jack". But that's not a headset jack, that's a microphone
jack.
>> For headphone or headset, one hw switch only:
> [Keyon] I am sorry I am not familiar with the jack HW circuit. What "one
> hw switch only" here means? Does it means that -- for headset Jack, the
> status(connected/disconnected) of HP pin is always exactly same with
> that of Mic pin?
There is only one jack detection input from HW. Regardless of whether
you plug in headphone or a headset, the HW switch would detect "plugged
in". When the jack is unplugged, the HW switch would detect "unplugged".
The HW cannot tell us whether you plugged in a headphone or headset.
>> * "Headphone Jack"
>> * "Headset Mic Phantom Jack"
> [Keyon] for Headset of this type, do we need create only "Headset Mic
> Phantom Jack" kctl, or "Headphone Jack" kctl is also needed?
We need both kctls.
>> Headphone or mic, one hw switch:
> [Keyon]I am fresh about this kind of hw jack, it should use different
> segment of the plug, seems we don't need check the actual connected
> status at the jack creation stage, just creating "Headphone Mic Jack"
> should works, right?
It is not very common. It was used on some Asus netbooks a while ago.
But yes, we should just create a "Headphone Mic Jack".
>>
>> * "Headphone Mic Jack"
>>
>> Headphone, headset, or mic, one hw switch only:
> [Keyon] how many kctls should we create for this?
>>
>> * "Headphone Mic Jack"
>> * "Headset Mic Phantom Jack"
Same as today, two: "Headphone Mic Jack" and "Headset Mic Phantom Jack".
>> Headphone, headset, or mic, one switch for hp/mic and the other for the
>> headset mic:
> [Keyon] I can't imagine how this works, it's too messy for me. :(
>>
>> * "Headphone Mic Jack"
>> * "Headset Mic Jack"
Nothing plugged in:
"Headphone Mic Jack" = false, "Headset Mic Jack" = false
Headphones plugged in:
"Headphone Mic Jack" = true, "Headset Mic Jack" = false
Headset plugged in:
"Headphone Mic Jack" = true, "Headset Mic Jack" = true
Mic plugged in:
"Headphone Mic Jack" = true, "Headset Mic Jack" = false
As you can see, "Headphones" and "Mic" results in the same output, hence
userspace needs to ask the user if (s)he plugged in a headphone or mic.
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the Alsa-devel
mailing list