[pulseaudio-discuss] [RFC PATCH 3/3] alsa: Add a generic fallback mapping
Alexander E. Patrakov
patrakov at gmail.com
Fri Jul 25 21:47:17 PDT 2014
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.
Other than that, the series looks OK as a stopgap solution for such
essentially-multichannel cards until ALSA gains an "upmix if needed, but
don't downmix" flag in itself.
>
> [Mapping iec958-stereo]
> @@ -203,6 +203,13 @@ priority = 4
> direction = output
> paths-output = hdmi-output-0
>
> +[Mapping generic]
> +device-strings = hw:%f
> +channel-map = left,right
> +exact-channels = false
> +fallback = yes
> +priority = 1
> +
> ; An example for defining multiple-sink profiles
> #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
> #description = Foobar
More information about the pulseaudio-discuss
mailing list