[pulseaudio-discuss] [PATCH] alsa-mixer: More output modes for SB Omni Surround 5.1 and cleanup

Nazar Mokrynskyi nazar at mokrynskyi.com
Tue May 8 22:51:23 UTC 2018


There are only stereo and 5.1 output modes supported natively on this
sound card, but with this config more modes like 2.1, 4.0, 4.1 and 5.0
are now exposed. Also profiles list is cleaner now with all profiles
explicitly specified.

Last thing is removed support for microphone on Linux kernels older than
4.3-rc1, which shouldn't be an issue with future version of PulseAudio
likely be installed on newer kernels anyway.

Signed-off-by: Nazar Mokrynskyi <nazar at mokrynskyi.com>
---
 .../profile-sets/sb-omni-surround-5.1.conf    | 90 +++++++++++++++----
 1 file changed, 72 insertions(+), 18 deletions(-)

diff --git a/src/modules/alsa/mixer/profile-sets/sb-omni-surround-5.1.conf b/src/modules/alsa/mixer/profile-sets/sb-omni-surround-5.1.conf
index d5922da7..11985bb3 100644
--- a/src/modules/alsa/mixer/profile-sets/sb-omni-surround-5.1.conf
+++ b/src/modules/alsa/mixer/profile-sets/sb-omni-surround-5.1.conf
@@ -15,44 +15,98 @@
 
 ; Creative Sound Blaster Omni Surround 5.1
 ;
-; This sound card have Mic/Line in at hw:%f,1,0 on Linux prior to 4.3-rc1,
-; but starting from Linux 4.3-rc1 Mic/Line is at hw:%f,0,0
-; This config supports both cases.
-; Also by default there are some non-existing (physically) inputs
-; and outputs that are not present here.
-; And finally officially supported modes are stereo and 5.1 + stereo S/PDIF,
-; so only these modes included.
+; This config supports Linux 4.3-rc1+.
+; By default there are some non-existing (physically) inputs and outputs that
+; are not present in this config.
+; Also in addition to natively supported modes (such as stereo, 5.1 and stereo
+; S/PDIF) following useful output modes are added: 2.1, 4.0, 4.1 and 5.0.
+;
+; NOTE: in 2.1 and 4.1 physical LFE output will be different than in 5.1 mode.
 ;
 ; See default.conf for an explanation on the directives used here.
 
 [General]
-auto-profiles = yes
+auto-profiles = no
+
+[Mapping analog-stereo-input]
+device-strings = hw:%f
+channel-map = left,right
+paths-input = analog-input-mic analog-input-linein
+direction = input
 
 [Mapping analog-stereo-output]
 device-strings = front:%f
 channel-map = left,right
 paths-output = analog-output
-priority = 10
 direction = output
 
-; Linux 4.2.x- have microphone input as device 1
-; While Linux 4.3-rc1+ have microphone input as device 0
-[Mapping analog-stereo-input]
-device-strings = hw:%f hw:%f,1,0
-paths-input = analog-input-mic analog-input-linein
-channel-map = left,right
-direction = input
+[Mapping analog-surround-21]
+device-strings = surround51:%f
+channel-map = front-left,front-right,lfe
+paths-output = analog-output
+direction = output
+
+[Mapping analog-surround-40]
+device-strings = surround51:%f
+channel-map = front-left,front-right,rear-left,rear-right
+paths-output = analog-output
+direction = output
+
+[Mapping analog-surround-41]
+device-strings = surround51:%f
+channel-map = front-left,front-right,rear-left,rear-right,lfe
+paths-output = analog-output
+direction = output
+
+[Mapping analog-surround-50]
+device-strings = surround51:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center
+paths-output = analog-output
+direction = output
 
 [Mapping analog-surround-51]
 device-strings = surround51:%f
 channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
 paths-output = analog-output
-priority = 9
 direction = output
 
 [Mapping iec958-stereo]
 device-strings = iec958:%f
 channel-map = left,right
 paths-output = iec958-stereo-output
-priority = 5
 direction = output
+
+[Profile output:analog-stereo-output+input:analog-stereo-input]
+output-mappings = analog-stereo-output
+input-mappings = analog-stereo-input
+priority = 7
+
+[Profile output:analog-surround-21+input:analog-stereo-input]
+output-mappings = analog-surround-21
+input-mappings = analog-stereo-input
+priority = 6
+
+[Profile output:analog-surround-40+input:analog-stereo-input]
+output-mappings = analog-surround-40
+input-mappings = analog-stereo-input
+priority = 5
+
+[Profile output:analog-surround-41+input:analog-stereo-input]
+output-mappings = analog-surround-41
+input-mappings = analog-stereo-input
+priority = 4
+
+[Profile output:analog-surround-50+input:analog-stereo-input]
+output-mappings = analog-surround-50
+input-mappings = analog-stereo-input
+priority = 3
+
+[Profile output:analog-surround-51+input:analog-stereo-input]
+output-mappings = analog-surround-51
+input-mappings = analog-stereo-input
+priority = 2
+
+[Profile output:iec958-stereo+input:analog-stereo-input]
+output-mappings = iec958-stereo
+input-mappings = analog-stereo-input
+priority = 1
-- 
2.17.0



More information about the pulseaudio-discuss mailing list