mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-11-03 09:01:52 -05:00 
			
		
		
		
	Make dmix card-specific
The parameters of dmix PCM definition are now card-specific. As default, period_size = 1024 and periods = 8 are used.
This commit is contained in:
		
							parent
							
								
									2010890399
								
							
						
					
					
						commit
						cf865cc990
					
				
					 4 changed files with 90 additions and 25 deletions
				
			
		| 
						 | 
				
			
			@ -186,30 +186,6 @@ pcm.plug {
 | 
			
		|||
	slave.pcm $SLAVE
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pcm.dmix {
 | 
			
		||||
	@args [ SLAVE FORMAT RATE ]
 | 
			
		||||
	@args.SLAVE {
 | 
			
		||||
		type string
 | 
			
		||||
		default "hw:0,0"
 | 
			
		||||
	}
 | 
			
		||||
	@args.FORMAT {
 | 
			
		||||
		type string
 | 
			
		||||
		default S16_LE
 | 
			
		||||
	}
 | 
			
		||||
	@args.RATE {
 | 
			
		||||
		type integer
 | 
			
		||||
		default 48000
 | 
			
		||||
	}
 | 
			
		||||
	type dmix
 | 
			
		||||
	ipc_key 5678293
 | 
			
		||||
	ipc_key_add_uid yes
 | 
			
		||||
	slave {
 | 
			
		||||
		pcm $SLAVE
 | 
			
		||||
		format $FORMAT
 | 
			
		||||
		rate $RATE
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pcm.dsnoop {
 | 
			
		||||
	@args [ SLAVE FORMAT RATE ]
 | 
			
		||||
	@args.SLAVE {
 | 
			
		||||
| 
						 | 
				
			
			@ -299,7 +275,9 @@ pcm.surround71 cards.pcm.surround71
 | 
			
		|||
pcm.iec958 cards.pcm.iec958
 | 
			
		||||
pcm.spdif cards.pcm.iec958
 | 
			
		||||
pcm.modem cards.pcm.modem
 | 
			
		||||
 | 
			
		||||
pcm.default cards.pcm.default
 | 
			
		||||
pcm.dmix cards.pcm.dmix
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
#  Control interface
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,3 +45,4 @@ Allegro cards.Maestro3
 | 
			
		|||
Canyon3D-2 cards.Maestro3
 | 
			
		||||
 | 
			
		||||
<confdir:pcm/default.conf>
 | 
			
		||||
<confdir:pcm/dmix.conf>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,8 @@
 | 
			
		|||
cfg_files = default.conf front.conf rear.conf center_lfe.conf side.conf\
 | 
			
		||||
	    surround40.conf surround41.conf \
 | 
			
		||||
	    surround50.conf surround51.conf \
 | 
			
		||||
	    surround71.conf iec958.conf modem.conf
 | 
			
		||||
	    surround71.conf iec958.conf modem.conf \
 | 
			
		||||
	    dmix.conf
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = $(cfg_files)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										85
									
								
								src/conf/pcm/dmix.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								src/conf/pcm/dmix.conf
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,85 @@
 | 
			
		|||
#
 | 
			
		||||
# dmix output
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
pcm.!dmix {
 | 
			
		||||
	@args [ CARD DEV SUBDEV FORMAT RATE ]
 | 
			
		||||
	@args.CARD {
 | 
			
		||||
		type string
 | 
			
		||||
		default 0
 | 
			
		||||
	}
 | 
			
		||||
	@args.DEV {
 | 
			
		||||
		type string
 | 
			
		||||
		default 0
 | 
			
		||||
	}
 | 
			
		||||
	@args.SUBDEV {
 | 
			
		||||
		type string
 | 
			
		||||
		default -1
 | 
			
		||||
	}
 | 
			
		||||
	@args.FORMAT {
 | 
			
		||||
		type string
 | 
			
		||||
		default S16_LE
 | 
			
		||||
	}
 | 
			
		||||
	@args.RATE {
 | 
			
		||||
		type integer
 | 
			
		||||
		default 48000
 | 
			
		||||
	}
 | 
			
		||||
	type dmix
 | 
			
		||||
	ipc_key 5678293
 | 
			
		||||
	ipc_key_add_uid yes
 | 
			
		||||
	slave {
 | 
			
		||||
		pcm {
 | 
			
		||||
			type hw
 | 
			
		||||
			card $CARD
 | 
			
		||||
			device $DEV
 | 
			
		||||
			subdevice $SUBDEV
 | 
			
		||||
		}
 | 
			
		||||
		format $FORMAT
 | 
			
		||||
		rate $RATE
 | 
			
		||||
		period_size {
 | 
			
		||||
			@func refer
 | 
			
		||||
			name {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards."
 | 
			
		||||
					{
 | 
			
		||||
						@func card_driver
 | 
			
		||||
						card $CARD
 | 
			
		||||
					}
 | 
			
		||||
					".pcm.dmix.period_size"
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			default 1048
 | 
			
		||||
		}		
 | 
			
		||||
		period_time {
 | 
			
		||||
			@func refer
 | 
			
		||||
			name {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards."
 | 
			
		||||
					{
 | 
			
		||||
						@func card_driver
 | 
			
		||||
						card $CARD
 | 
			
		||||
					}
 | 
			
		||||
					".pcm.dmix.period_time"
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			default -1
 | 
			
		||||
		}		
 | 
			
		||||
		periods {
 | 
			
		||||
			@func refer
 | 
			
		||||
			name {
 | 
			
		||||
				@func concat
 | 
			
		||||
				strings [
 | 
			
		||||
					"cards."
 | 
			
		||||
					{
 | 
			
		||||
						@func card_driver
 | 
			
		||||
						card $CARD
 | 
			
		||||
					}
 | 
			
		||||
					".pcm.dmix.periods"
 | 
			
		||||
				]
 | 
			
		||||
			}
 | 
			
		||||
			default 8
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue