[pulseaudio-discuss] [PATCH v2 3/3] alsa: Add a multichannel fallback mapping

David Henningsson david.henningsson at canonical.com
Tue Jul 29 07:44:00 PDT 2014


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 9aa28a3..b4f4bbd 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -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[] = {
         { "analog-mono",            N_("Analog Mono") },
         { "analog-stereo",          N_("Analog Stereo") },
+        { "multichannel",           N_("Multichannel") },
         { "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 feede52..203da3d 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
 
 [Mapping iec958-stereo]
@@ -203,6 +203,13 @@ priority = 4
 direction = output
 paths-output = hdmi-output-0
 
+[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
 #[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
 #description = Foobar
-- 
1.9.1



More information about the pulseaudio-discuss mailing list