[pulseaudio-discuss] [PATCH v2] alsa: Add support for sound cards with 4-channel input.

David Henningsson david.henningsson at canonical.com
Tue May 8 06:07:46 PDT 2012

2012-05-07 19:09, Tanu Kaskinen skrev:
> On Mon, 2012-05-07 at 13:02 -0700, David Henningsson wrote:
>> 2012-05-07 03:47, Tanu Kaskinen skrev:
>>> On Mon, 2012-05-07 at 09:46 +0530, Arun Raghavan wrote:
>>>> On Tue, 2012-05-01 at 20:09 +0300, Tanu Kaskinen wrote:
>>>>> Changes in v2:
>>>>>    - Call the mapping a generic 4-channel input mapping
>>>>>      instead of a 4-channel mic array mapping. The mapping
>>>>>      will be used also by sound cards that have two stereo
>>>>>      input jacks, so in those cases talking about mic arrays
>>>>>      is wrong.
>>>>>    - Added a comment about using the "hw" device name.
>>>>> BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=45813
>>>>> ---
>>>>>    src/modules/alsa/alsa-mixer.c                    |    1 +
>>>>>    src/modules/alsa/mixer/profile-sets/default.conf |    9 +++++++++
>>>>>    2 files changed, 10 insertions(+)
>>>>> diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
>>>>> index abb12ee..8b54f75 100644
>>>>> --- a/src/modules/alsa/alsa-mixer.c
>>>>> +++ b/src/modules/alsa/alsa-mixer.c
>>>>> @@ -3888,6 +3888,7 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {
>>>>>            { "analog-surround-61",     N_("Analog Surround 6.1") },
>>>>>            { "analog-surround-70",     N_("Analog Surround 7.0") },
>>>>>            { "analog-surround-71",     N_("Analog Surround 7.1") },
>>>>> +        { "analog-4-channel-input", N_("Analog 4-channel Input") },
>>>> Since this is limited to some specific hardware, shouldn't we set up
>>>> udev rules instead of always probing?
>>> "All devices supporting 4-channel input" isn't very specific hardware
>>> IMHO,
>> I agree with Arun on this one.
> In addition to the PS3 and Kinect devices and the webcams in bestbuy.com
> that the reporter linked to, there's also at least Alseis iO4:
> https://bugs.freedesktop.org/show_bug.cgi?id=49056
> It's a device with two stereo inputs, so it's not a mic array. I don't
> know how common those are, but iO4 probably isn't the only one.
>> Besides, it is not obvious to me what the
>> channel mapping should be either, and couldn't that vary between
>> different 4-channel hardware? Is the aux* just causing all inputs to be
>> added for whatever the client wants to have...?
> What do you mean by "added"? Mixed together? No, remixing is disabled
> with aux channels (not sure about mono downmix, though).

Hmm, so if the source output client requests a stereo stream (left, 
right), and all we got is aux0, aux1, aux2 and aux3, what does the 
client get in his stream? Silence?

> Not having any
> remixing may perhaps cause other problems, but if that's the case, it's
> then a separate bug. I really think the input channel maps should be
> all-aux by default (possibly even with stereo mics, binaural equipment
> being a rare exception), because the channel semantics don't make much
> sense with most input devices (except with PA's monitor sources).

I disagree. Stereo mic recording in different types of setups is not 
that uncommon and should be tagged as such. Line In recording (both 
analog and digital) is also set up as left and right.

> FWIW, there was a report in the bug comments saying that "recording
> through PA works as expected" with this fix.
>>> and I doubt udev can be used to query the amount of supported
>>> channels.
>> Hmm...that raises a thought I didn't consider before. Why don't we do
>> this in alsa-lib? If this varies between devices, we could create e g,
>> for 4-channel mic hardware A, we set up a alsa-lib ttable to have
>> "front" record two channels, the two left ones mixing in to the left and
>> the two right ones mixing into the right. Or in what way do we actually
>> use all four channels today?
> I would be ok with this, especially if you make the patch :)
Just posted patch to list, see previous email to Arun.

// David

More information about the pulseaudio-discuss mailing list