This defines two modem related pcm devices: "phoneline" is driver's pcm
reference, with "modem" the line will be "Hook-Off"ed automatically.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
pcm.iec958 cards.pcm.iec958
pcm.spdif cards.pcm.iec958
pcm.modem cards.pcm.modem
+pcm.phoneline cards.pcm.phoneline
pcm.default cards.pcm.default
pcm.dmix cards.pcm.dmix
#
-# Modem output
+# "raw" modem - phoneline
#
-pcm.!modem {
+pcm.!phoneline {
@args [ CARD DEV ]
@args.CARD {
type string
]
}
}
+
+#
+# "autohooked" modem
+#
+
+pcm.!modem {
+ @args [ CARD DEV ]
+ @args.CARD {
+ type string
+ default {
+ @func getenv
+ vars [
+ ALSA_MODEM_CARD
+ ALSA_PCM_CARD
+ ALSA_CARD
+ ]
+ default {
+ @func refer
+ name defaults.pcm.modem.card
+ }
+ }
+ }
+ @args.DEV {
+ type integer
+ default {
+ @func igetenv
+ vars [
+ ALSA_MODEM_DEVICE
+ ]
+ default {
+ @func refer
+ name defaults.pcm.modem.device
+ }
+ }
+ }
+ type hooks
+ slave {
+ pcm {
+ @func concat
+ strings [
+ "cards.pcm.phoneline:CARD=" $CARD ",DEV=" $DEV
+ ]
+ }
+ }
+ hooks.0 {
+ type ctl_elems
+ hook_args [
+ {
+ name "Off-hook Switch"
+ preserve true
+ value "on"
+ lock false
+ optional true
+ }
+ ]
+ }
+}