# Copyright (c) 2023 Demant A/S
# Copyright (c) 2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

mainmenu "Bluetooth: Broadcast Audio Source"

choice BAP_LC3_PRESET
	prompt "The BAP LC3 Preset to be used"
	default BAP_BROADCAST_16_2_1

config BAP_BROADCAST_16_2_1
	bool "BAP_LC3_BROADCAST_PRESET_16_2_1 preset"
	help
	  Using the BAP_LC3_BROADCAST_PRESET_16_2_1 preset.

config BAP_BROADCAST_24_2_1
	bool "BAP_LC3_BROADCAST_PRESET_24_2_1 preset"
	help
	  Using the BAP_LC3_BROADCAST_PRESET_24_2_1 preset.

endchoice

config ENABLE_LC3
	bool "Enable the LC3 codec"
	# By default let's enable it in the platforms we know are capable of supporting it
	default y
	depends on (ARCH_POSIX || SOC_NRF5340_CPUAPP)
	select LIBLC3
	select FPU

config USE_USB_AUDIO_INPUT
	bool "Use USB Audio as input"
	# By default, use the USB Audio path is disabled.
	default n
	depends on ENABLE_LC3
	select USB_DEVICE_STACK
	select USB_DEVICE_AUDIO
	select RING_BUFFER

source "Kconfig.zephyr"
