# Please note that this ALSA configuration file fragment needs be enabled in
# /etc/asound.conf or a similar configuration file with directives similar to
# the following:
#
#@hooks [
#	{
#		func load
#		files [
#			"/etc/alsa/bluetooth.conf"
#		]
#		errors false
#	}
#]

pcm.rawbluetooth {
	@args [ ADDRESS ]
	@args.ADDRESS {
		type string
	}
	type bluetooth
	device $ADDRESS
}

pcm.bluetooth {
	@args [ ADDRESS ]
	@args.ADDRESS {
		type string
	}
	type plug
	slave {
		pcm {
			type bluetooth
			device $ADDRESS
		}
	}
}
