Bluetooth: Audio: Add BAP unicast server support

Add the Basic Audio Profile (BAP) unicast server
functionality. This allows a device to act as the
unicast server role, which can accept unicast streams
initiated by a unicast client.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
This commit is contained in:
Emil Gydesen 2022-01-07 17:23:45 +01:00 committed by Johan Hedberg
commit 03862b3db5
20 changed files with 6460 additions and 38 deletions

View file

@ -0,0 +1,132 @@
# Bluetooth Audio - Basic Audio Profile configuration options
#
# Copyright (c) 2020 Intel Corporation
# Copyright (c) 2022 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
#
config BT_AUDIO_UNICAST
bool
depends on BT_CONN
select BT_SMP
select BT_L2CAP_DYNAMIC_CHANNEL
select BT_ISO_UNICAST
select BT_L2CAP_ECRED
select BT_EATT
config BT_AUDIO_UNICAST_SERVER
bool "Bluetooth Unicast Audio Server Support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_PERIPHERAL
select BT_AUDIO_UNICAST
select BT_GATT_DYNAMIC_DB
select BT_GATT_CACHING
select BT_PACS
select BT_ASCS
help
This option enables support for Bluetooth Unicast Audio Server
using Isochronous channels.
if BT_AUDIO_UNICAST
config BT_CODEC_MAX_DATA_COUNT
int "Codec Capabilities Data Count"
default 5
range 1 128
help
This option defines the maximum number of LTV entries a codec can
store.
config BT_CODEC_MAX_DATA_LEN
int "Codec Capabilities Data Length"
default 4
range 1 128
help
This option defines the maximum value length of an LTV entry a codec
can store.
config BT_CODEC_MAX_METADATA_COUNT
int "Codec Metadata Count"
default 2
range 1 128
help
This option defines the maximum number of LTV entries a metadata can
store.
config BT_CODEC_MAX_METADATA_LEN
int "Codec Metadata Length"
default 4
range 1 128
help
This option defines the maximum value length of an LTV entry a
metadata can store.
endif # BT_AUDIO_UNICAST
config BT_AUDIO_BROADCAST
bool "Bluetooth Broadcast Audio Support"
select BT_ISO_BROADCASTER
select BT_ISO_SYNC_RECEIVER
help
This option enables support for Bluetooth Broadcast Audio using
Isochronous channels.
config BT_AUDIO_DEBUG
bool "Enable debug logs"
depends on BT_DEBUG
help
Use this option to enable debug logs for the Bluetooth
Audio functionality.
if BT_AUDIO_DEBUG
config BT_DEBUG_PACS
bool "Published Audio Capabilities Service debug"
depends on BT_PACS
help
Use this option to enable Published Audio Capabilities Service debug
logs for the Bluetooth Audio functionality.
config BT_AUDIO_DEBUG_STREAM
bool "Bluetooth Audio Stream debug"
depends on BT_AUDIO_STREAM
help
Use this option to enable Bluetooth Audio Stream debug logs for the
Bluetooth Audio functionality.
config BT_AUDIO_DEBUG_CAPABILITIES
bool "Bluetooth Audio Capabilities debug"
depends on BT_AUDIO_CAPABILITIES
help
Use this option to enable Bluetooth Audio Capabilities debug logs for
the Bluetooth Audio functionality.
config BT_DEBUG_ASCS
bool "Audio Stream Control Service debug"
depends on BT_ASCS
help
Use this option to enable Audio Stream Control Service debug logs for
the Bluetooth Audio functionality.
config BT_AUDIO_DEBUG_UNICAST_SERVER
bool "Bluetooth Audio Unicast Server debug"
depends on BT_AUDIO_UNICAST_SERVER
help
Use this option to enable Bluetooth Audio Unicast Server debug logs
for the Bluetooth Audio functionality.
endif # BT_AUDIO_DEBUG
config BT_AUDIO_STREAM
# Virtual/hidden option
bool
default y if BT_ASCS
config BT_AUDIO_CAPABILITIES
# Virtual/hidden option
bool
default y if BT_ASCS
rsource "Kconfig.pacs"
rsource "Kconfig.ascs"