# # dsnoop # pcm.!dsnoop { @args [ CARD DEV SUBDEV FORMAT RATE ] @args.CARD { type string default { @func refer name defaults.pcm.dsnoop.card } } @args.DEV { type string default { @func refer name defaults.pcm.dsnoop.device } } @args.SUBDEV { type string default -1 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } type dsnoop ipc_key { @func iadd integers [ { @func refer name defaults.pcm.ipc_key } { @func imul integers [ { @func card_inum $CARD } 2 ] } ] } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } 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.dsnoop.period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.periods" ] } default 16 } } hint { description "Direct sample snooping device" device $DEV } }