# 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 CPU_HAS_FPU && \
		(ARCH_POSIX || SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_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"
