The parameters of dmix PCM definition are now card-specific.
As default, period_size = 1024 and periods = 8 are used.
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 {
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
Canyon3D-2 cards.Maestro3
<confdir:pcm/default.conf>
+<confdir:pcm/dmix.conf>
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)
--- /dev/null
+#
+# 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
+ }
+ }
+}