handling of dmix and non-dmix in the same configuration file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



on the Blackfin processor, we have an "almost-but-not-quite" AC97 interface 
(called a "SPORT").  the trouble is that we can hook up AC97 codecs, but in 
order to properly communicate with codecs, we need to repacketize the 
communication between the higher alsa layers and the actual SPORT.  great ... 
but now we want to support dmix/dsnoop.  the overhead for dmix vs non-dmix is 
such that we make it optional.  if the user does not need software mixing, 
they can disable this overhead.  this leads to two (incompatible) alsa config 
files (in this case, for the AD1980 codec).  we're wondering if it's possible 
to have the right settings selected on the fly some how during runtime rather 
than having to select one file or the other.

the dmix config:
AD1980.pcm.default {
	@args [ CARD ]
	@args.CARD {
		type string
	}
	type asym
	playback.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dmix:CARD=" $CARD ]
		}
	}
	capture.pcm {
		type plug
		slave.pcm {
			@func concat
			strings [ "dsnoop:CARD=" $CARD ]
		}
	}
}

the non-dmix config:
AD1980.pcm.default {
	type plug
	slave {
		pcm {
			type mmap_emul
			slave {
				pcm {
					type hw
					card 0
					format S16_LE
					rate 48000
					channels 2
					sync_ptr_ioctl 1
				}
			}
		}
	}
}
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux