1d5ac70f0Sopenharmony_ci# 2d5ac70f0Sopenharmony_ci# Hardware output from iec958 3d5ac70f0Sopenharmony_ci# 4d5ac70f0Sopenharmony_ci 5d5ac70f0Sopenharmony_cipcm.!iec958 { 6d5ac70f0Sopenharmony_ci @args [ CARD DEV AES0 AES1 AES2 AES3 ] 7d5ac70f0Sopenharmony_ci @args.CARD { 8d5ac70f0Sopenharmony_ci type string 9d5ac70f0Sopenharmony_ci default { 10d5ac70f0Sopenharmony_ci @func getenv 11d5ac70f0Sopenharmony_ci vars [ 12d5ac70f0Sopenharmony_ci ALSA_IEC958_CARD 13d5ac70f0Sopenharmony_ci ALSA_PCM_CARD 14d5ac70f0Sopenharmony_ci ALSA_CARD 15d5ac70f0Sopenharmony_ci ] 16d5ac70f0Sopenharmony_ci default { 17d5ac70f0Sopenharmony_ci @func refer 18d5ac70f0Sopenharmony_ci name defaults.pcm.iec958.card 19d5ac70f0Sopenharmony_ci } 20d5ac70f0Sopenharmony_ci } 21d5ac70f0Sopenharmony_ci } 22d5ac70f0Sopenharmony_ci @args.DEV { 23d5ac70f0Sopenharmony_ci type integer 24d5ac70f0Sopenharmony_ci default { 25d5ac70f0Sopenharmony_ci @func igetenv 26d5ac70f0Sopenharmony_ci vars [ 27d5ac70f0Sopenharmony_ci ALSA_IEC958_DEVICE 28d5ac70f0Sopenharmony_ci ] 29d5ac70f0Sopenharmony_ci default { 30d5ac70f0Sopenharmony_ci @func refer 31d5ac70f0Sopenharmony_ci name defaults.pcm.iec958.device 32d5ac70f0Sopenharmony_ci } 33d5ac70f0Sopenharmony_ci } 34d5ac70f0Sopenharmony_ci } 35d5ac70f0Sopenharmony_ci @args.AES0 { 36d5ac70f0Sopenharmony_ci type integer 37d5ac70f0Sopenharmony_ci # consumer, not-copyright, emphasis-none, mode=0 38d5ac70f0Sopenharmony_ci default 0x04 39d5ac70f0Sopenharmony_ci } 40d5ac70f0Sopenharmony_ci @args.AES1 { 41d5ac70f0Sopenharmony_ci type integer 42d5ac70f0Sopenharmony_ci # original, PCM coder 43d5ac70f0Sopenharmony_ci default 0x82 44d5ac70f0Sopenharmony_ci } 45d5ac70f0Sopenharmony_ci @args.AES2 { 46d5ac70f0Sopenharmony_ci type integer 47d5ac70f0Sopenharmony_ci # source and channel 48d5ac70f0Sopenharmony_ci default 0x00 49d5ac70f0Sopenharmony_ci } 50d5ac70f0Sopenharmony_ci @args.AES3 { 51d5ac70f0Sopenharmony_ci type integer 52d5ac70f0Sopenharmony_ci # fs=48000Hz, clock accuracy=1000ppm 53d5ac70f0Sopenharmony_ci default 0x02 54d5ac70f0Sopenharmony_ci } 55d5ac70f0Sopenharmony_ci type empty 56d5ac70f0Sopenharmony_ci slave.pcm { 57d5ac70f0Sopenharmony_ci @func refer 58d5ac70f0Sopenharmony_ci name { 59d5ac70f0Sopenharmony_ci @func concat 60d5ac70f0Sopenharmony_ci strings [ 61d5ac70f0Sopenharmony_ci "cards." 62d5ac70f0Sopenharmony_ci { 63d5ac70f0Sopenharmony_ci @func card_inum 64d5ac70f0Sopenharmony_ci card $CARD 65d5ac70f0Sopenharmony_ci } 66d5ac70f0Sopenharmony_ci ".pcm.iec958." $DEV ":" 67d5ac70f0Sopenharmony_ci "CARD=" $CARD "," 68d5ac70f0Sopenharmony_ci "AES0=" $AES0 "," 69d5ac70f0Sopenharmony_ci "AES1=" $AES1 "," 70d5ac70f0Sopenharmony_ci "AES2=" $AES2 "," 71d5ac70f0Sopenharmony_ci "AES3=" $AES3 72d5ac70f0Sopenharmony_ci ] 73d5ac70f0Sopenharmony_ci } 74d5ac70f0Sopenharmony_ci } 75d5ac70f0Sopenharmony_ci hint { 76d5ac70f0Sopenharmony_ci show { 77d5ac70f0Sopenharmony_ci @func refer 78d5ac70f0Sopenharmony_ci name defaults.namehint.basic 79d5ac70f0Sopenharmony_ci } 80d5ac70f0Sopenharmony_ci description "IEC958 (S/PDIF) Digital Audio Output" 81d5ac70f0Sopenharmony_ci device_output $DEV 82d5ac70f0Sopenharmony_ci } 83d5ac70f0Sopenharmony_ci} 84