[pulseaudio-discuss] [RFC PATCH 3/3] alsa: Add a generic fallback mapping

Alexander E. Patrakov patrakov at gmail.com
Sun Jul 27 11:52:52 PDT 2014


2014-07-27 23:48 GMT+06:00 David Henningsson <david.henningsson at canonical.com>:
>
>
> On 2014-07-26 06:47, Alexander E. Patrakov wrote:
>>
>> 25.07.2014 19:31, David Henningsson wrote:
>>>
>>> In case all other profiles fail, try this fallback mapping as well.
>>> It allows the device to specify the channel count, so it can be used
>>> for devices that only supports being opened in multichannel mode.
>>>
>>> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
>>> ---
>>>   src/modules/alsa/alsa-mixer.c                    |  1 +
>>>   src/modules/alsa/mixer/profile-sets/default.conf | 11 +++++++++--
>>>   2 files changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/modules/alsa/alsa-mixer.c
>>> b/src/modules/alsa/alsa-mixer.c
>>> index 57d56c0..ed4b75b 100644
>>> --- a/src/modules/alsa/alsa-mixer.c
>>> +++ b/src/modules/alsa/alsa-mixer.c
>>> @@ -3861,6 +3861,7 @@ static int mapping_verify(pa_alsa_mapping *m,
>>> const pa_channel_map *bonus) {
>>>       static const struct description_map well_known_descriptions[] = {
>>>           { "analog-mono",            N_("Analog Mono") },
>>>           { "analog-stereo",          N_("Analog Stereo") },
>>> +        { "generic",                N_("Generic") },
>>>           { "analog-surround-21",     N_("Analog Surround 2.1") },
>>>           { "analog-surround-30",     N_("Analog Surround 3.0") },
>>>           { "analog-surround-31",     N_("Analog Surround 3.1") },
>>> diff --git a/src/modules/alsa/mixer/profile-sets/default.conf
>>> b/src/modules/alsa/mixer/profile-sets/default.conf
>>> index a481efa..978551b 100644
>>> --- a/src/modules/alsa/mixer/profile-sets/default.conf
>>> +++ b/src/modules/alsa/mixer/profile-sets/default.conf
>>> @@ -107,7 +107,7 @@ device-strings = hw:%f
>>>   channel-map = mono
>>>   paths-output = analog-output analog-output-lineout
>>> analog-output-speaker analog-output-desktop-speaker
>>> analog-output-headphones analog-output-headphones-2 analog-output-mono
>>>   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
>>> -priority = 1
>>> +priority = 2
>>>   [Mapping analog-stereo]
>>>   device-strings = front:%f hw:%f
>>> @@ -165,7 +165,7 @@ direction = output
>>>   # device name standardized in alsa.
>>>   device-strings = hw:%f
>>>   channel-map = aux0,aux1,aux2,aux3
>>> -priority = 1
>>> +priority = 2
>>>   direction = input
>>
>>
>> I don't quite understand why the above priority changes are needed. If I
>> understand the previous patches correctly, priority order only matters
>> when comparing two non-fallback mappings or two fallback mappings.
>
>
> It is meant to prefer a non-fallback + fallback combination over a fallback
> + fallback combination (remember that in default.conf a profile is a
> combination of two mappings). The profile's priority is IIRC output mapping
> prio * 100 + input mapping prio.

Understood, thanks.

-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list