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