mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	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:
		
							parent
							
								
									c15107eaf6
								
							
						
					
					
						commit
						48edd0a00f
					
				
					 2 changed files with 10 additions and 2 deletions
				
			
		| 
						 | 
					@ -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") },
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue