alsa: Add a multichannel fallback mapping

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@canonical.com>
This commit is contained in:
David Henningsson 2014-07-25 15:16:41 +02:00
parent c15107eaf6
commit 48edd0a00f
2 changed files with 10 additions and 2 deletions

View file

@ -3859,6 +3859,7 @@ static int mapping_verify(pa_alsa_mapping *m, const pa_channel_map *bonus) {
static const struct description_map well_known_descriptions[] = { static const struct description_map well_known_descriptions[] = {
{ "analog-mono", N_("Analog Mono") }, { "analog-mono", N_("Analog Mono") },
{ "analog-stereo", N_("Analog Stereo") }, { "analog-stereo", N_("Analog Stereo") },
{ "multichannel", N_("Multichannel") },
{ "analog-surround-21", N_("Analog Surround 2.1") }, { "analog-surround-21", N_("Analog Surround 2.1") },
{ "analog-surround-30", N_("Analog Surround 3.0") }, { "analog-surround-30", N_("Analog Surround 3.0") },
{ "analog-surround-31", N_("Analog Surround 3.1") }, { "analog-surround-31", N_("Analog Surround 3.1") },

View file

@ -107,7 +107,7 @@ device-strings = hw:%f
channel-map = mono 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-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 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] [Mapping analog-stereo]
device-strings = front:%f hw:%f device-strings = front:%f hw:%f
@ -165,7 +165,7 @@ direction = output
# device name standardized in alsa. # device name standardized in alsa.
device-strings = hw:%f device-strings = hw:%f
channel-map = aux0,aux1,aux2,aux3 channel-map = aux0,aux1,aux2,aux3
priority = 1 priority = 2
direction = input direction = input
[Mapping iec958-stereo] [Mapping iec958-stereo]
@ -452,6 +452,13 @@ channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
priority = 1 priority = 1
direction = output direction = output
[Mapping multichannel]
device-strings = hw:%f
channel-map = left,right,rear-left,rear-right
exact-channels = false
fallback = yes
priority = 1
; An example for defining multiple-sink profiles ; An example for defining multiple-sink profiles
#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo] #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
#description = Foobar #description = Foobar