# Bluetooth Audio - Gaming Audio Profile (GMAP) options
#
# Copyright (c) 2023 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

config BT_GMAP_UGG_SUPPORTED
	def_bool BT_CAP_INITIATOR && BT_BAP_UNICAST_CLIENT && BT_VCP_VOL_CTLR

config BT_GMAP_UGT_SUPPORTED
	def_bool BT_CAP_ACCEPTOR && BT_BAP_UNICAST_SERVER

config BT_GMAP_BGS_SUPPORTED
	def_bool BT_CAP_INITIATOR && BT_BAP_BROADCAST_SOURCE

config BT_GMAP_BGR_SUPPORTED
	def_bool BT_CAP_ACCEPTOR && BT_BAP_BROADCAST_SINK && BT_VCP_VOL_REND

config BT_GMAP
	bool "Gaming Audio Profile [EXPERIMENTAL]"
	depends on BT_CAP_ACCEPTOR || BT_CAP_INITIATOR
	select EXPERIMENTAL
	help
	  Enabling this will enable GMAP.

parent-module = BT
module = BT_GMAP
module-str = "Bluetooth Gaming Audio Profile"
source "subsys/logging/Kconfig.template.log_config_inherit"
