Discover a microphone device, to later discover if it is receiving input
Jaroslav Kysela
perex at perex.cz
Fri Oct 9 16:07:22 CEST 2020
Dne 09. 10. 20 v 14:39 info napsal(a):
> Can maintainers of this list please give a straight answer: is asking
> questions and leaving comments here a waste of time?
Unfortunately, the hint list does not give information about the connected
mixer outputs or inputs. It's just a list of available PCM devices in the system.
If the I/O type is (null) it means that both directions may be available.
We have better device enumeration in UCM (Use Case Manager) by the use, but
the configurations are not available for all hardware yet.
BTW: Your e-mail header (From:) and signature does not seem trustly.
Jaroslav
> On 2020-10-04 12:22 PM, info wrote:
>> Hi all,
>>
>>
>> I am writing a program that aims to auto-discover the microphone
>> device that the user is speaking into. I started off by querying
>> device hints and collected all devices with the IO types of null,
>> since I have not found any devices with the type of Input. I am
>> puzzled how it is possible that there is no Input, where a microphone
>> device should not be able to emit sound. This is the list on my
>> particular machine:
>>
>> Name of device: sysdefault:CARD=SB
>> Description of device: HDA ATI SB, ALC892 Analog
>> Default Audio Device
>> I/O type of device: (null)
>>
>> Name of device: front:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> Front speakers
>> I/O type of device: (null)
>>
>> Name of device: surround21:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> 2.1 Surround output to Front and Subwoofer speakers
>> I/O type of device: Output
>>
>> Name of device: surround41:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> 4.1 Surround output to Front, Rear and Subwoofer speakers
>> I/O type of device: Output
>>
>> Name of device: surround50:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> 5.0 Surround output to Front, Center and Rear speakers
>> I/O type of device: Output
>>
>> Name of device: surround71:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
>> I/O type of device: Output
>>
>> Name of device: sysdefault:CARD=SB
>> Description of device: HDA ATI SB, ALC892 Analog
>> Default Audio Device
>> I/O type of device: (null)
>>
>> Name of device: front:CARD=SB,DEV=0
>> Description of device: HDA ATI SB, ALC892 Analog
>> Front speakers
>> I/O type of device: (null)
>>
>> Now, I am more puzzled, because none of them is a microphone device
>> explicitly. How can my program determine which of them is actually a
>> microphone?
>>
>> Also, why are devices are duplicated in the output from
>> snd_device_name_hint()? The very first device is also repeated as the
>> 2nd last one...
>>
>>
>> Regards,
>> Alex
>>
>>
>
>
--
Jaroslav Kysela <perex at perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
More information about the Alsa-devel
mailing list