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
 | 
						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 {
 | 
					pcm.dsnoop {
 | 
				
			||||||
	@args [ SLAVE FORMAT RATE ]
 | 
						@args [ SLAVE FORMAT RATE ]
 | 
				
			||||||
	@args.SLAVE {
 | 
						@args.SLAVE {
 | 
				
			||||||
| 
						 | 
					@ -299,7 +275,9 @@ pcm.surround71 cards.pcm.surround71
 | 
				
			||||||
pcm.iec958 cards.pcm.iec958
 | 
					pcm.iec958 cards.pcm.iec958
 | 
				
			||||||
pcm.spdif cards.pcm.iec958
 | 
					pcm.spdif cards.pcm.iec958
 | 
				
			||||||
pcm.modem cards.pcm.modem
 | 
					pcm.modem cards.pcm.modem
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pcm.default cards.pcm.default
 | 
					pcm.default cards.pcm.default
 | 
				
			||||||
 | 
					pcm.dmix cards.pcm.dmix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#  Control interface
 | 
					#  Control interface
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,3 +45,4 @@ Allegro cards.Maestro3
 | 
				
			||||||
Canyon3D-2 cards.Maestro3
 | 
					Canyon3D-2 cards.Maestro3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<confdir:pcm/default.conf>
 | 
					<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\
 | 
					cfg_files = default.conf front.conf rear.conf center_lfe.conf side.conf\
 | 
				
			||||||
	    surround40.conf surround41.conf \
 | 
						    surround40.conf surround41.conf \
 | 
				
			||||||
	    surround50.conf surround51.conf \
 | 
						    surround50.conf surround51.conf \
 | 
				
			||||||
	    surround71.conf iec958.conf modem.conf
 | 
						    surround71.conf iec958.conf modem.conf \
 | 
				
			||||||
 | 
						    dmix.conf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
EXTRA_DIST = $(cfg_files)
 | 
					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