#
#  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 $DEV
	}
}
