# # Hardware output from iec958 # pcm.!iec958 { @args [ CARD DEV AES0 AES1 AES2 AES3 ] @args.CARD { type string default { @func getenv vars [ ALSA_IEC958_CARD ALSA_PCM_CARD ALSA_CARD ] default { @func refer name defaults.pcm.iec958.card } } } @args.DEV { type integer default { @func igetenv vars [ ALSA_IEC958_DEVICE ] default { @func refer name defaults.pcm.iec958.device } } } @args.AES0 { type integer # consumer, not-copyright, emphasis-none, mode=0 default 0x04 } @args.AES1 { type integer # original, PCM coder default 0x82 } @args.AES2 { type integer # source and channel default 0x00 } @args.AES3 { type integer # fs=48000Hz, clock accuracy=1000ppm default 0x02 } type empty slave.pcm { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.iec958." $DEV ":" "CARD=" $CARD "," "AES0=" $AES0 "," "AES1=" $AES1 "," "AES2=" $AES2 "," "AES3=" $AES3 ] } } hint { show { @func refer name defaults.namehint.basic } description "IEC958 (S/PDIF) Digital Audio Output" device_output $DEV } }