blob: 6e5dc3094b7dcb3d38e89134ff24463077ad8684 [file] [log] [blame]
# Bluetooth Audio - Basic Audio Profile configuration options
#
# Copyright (c) 2020 Intel Corporation
# Copyright (c) 2022-2023 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
#
config BT_BAP_UNICAST
bool
depends on BT_CONN
select BT_SMP
select BT_ISO_UNICAST
config BT_BAP_UNICAST_SERVER
bool "Bluetooth Unicast Audio Server Support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_PERIPHERAL
select BT_BAP_UNICAST
select BT_ISO_PERIPHERAL
select BT_GATT_DYNAMIC_DB
select BT_GATT_CACHING
select BT_ASCS
help
This option enables support for Bluetooth Unicast Audio Server
using Isochronous channels.
config BT_BAP_UNICAST_CLIENT
bool "Bluetooth Unicast Audio Client Support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_BAP_UNICAST
select BT_ISO_CENTRAL
select BT_CENTRAL
select BT_GATT_CLIENT
select BT_GATT_AUTO_DISCOVER_CCC
select BT_GATT_AUTO_UPDATE_MTU
help
This option enables support for Bluetooth Unicast Audio Client
using Isochronous channels.
config BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE
int "Codec Specific Configuration Data Size"
default 19
range 0 255
help
Number of octets to support for Codec Specific Configuration data.
The default value 19 matches the required fields for the LC3 codec.
config BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE
int "Codec Specific Configuration Metadata Size"
default 4
range 0 255
help
Number of octets to support for Codec Specific Configuration metadata.
config BT_BAP_BASS_MAX_SUBGROUPS
int "Maximum number of subgroups supported for the BASS receive states"
default 1
range 1 24
help
This option sets the maximum number of subgroups supported.
Due to limitations in advertising data, the maximum size of all subgroups are 249.
The minimum size of a subgroup is 10 octets.
So effectively there can be a maximum of 24 subgroups in a BASE.
config BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE
int "Codec Capabilities Data Size"
default 19
range 0 255
help
Number of octets to support for Codec Specific Capabilities data.
The default value 19 matches the required fields for the LC3 codec.
config BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE
int "Codec Capabilities Metadata Size"
default 4
range 0 255
help
Number of octets to support for Codec Specific Capabilities metadata.
if BT_BAP_UNICAST_CLIENT
config BT_BAP_UNICAST_CLIENT_GROUP_COUNT
int "Basic Audio Unicast Group count"
depends on BT_BAP_UNICAST
default BT_ISO_MAX_CIG
range 1 BT_ISO_MAX_CIG
help
This option sets the number of connected audio groups to support as
the unicast client.
config BT_BAP_UNICAST_CLIENT_GROUP_STREAM_COUNT
int "Basic Audio Profile Unicast Group Connected Isochronous Stream (CIS) count"
depends on BT_BAP_UNICAST_CLIENT_GROUP_COUNT > 0
default 1
range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31
range 1 31
help
This option sets the maximum number of CIS per unicast group to support.
Since BAP streams are unidirectional, two BAP streams may use a single CIS, the number of
BAP audio streams per group may be up to twice of this value.
config BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT
int "Basic Audio Profile ASE Sink count"
default 2
range 0 255
help
This option enables caching a number of Audio Stream Endpoint Sink
instances for Basic Audio Profile on a per connection basis.
config BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT
int "Basic Audio Profile ASE Source count"
default 2
range 0 255
help
This option enables caching a number of Audio Stream Endpoint Source
instances for Basic Audio Profile on a per connection basis.
config BT_BAP_UNICAST_CLIENT_ASE_SNK
def_bool BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT > 0
select BT_AUDIO_TX
config BT_BAP_UNICAST_CLIENT_ASE_SRC
def_bool BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT > 0
select BT_AUDIO_RX
endif # BT_BAP_UNICAST_CLIENT
config BT_BAP_BROADCAST_SOURCE
bool "Bluetooth Broadcast Source Audio Support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_ISO_BROADCASTER
select BT_AUDIO_TX
help
This option enables support for Bluetooth Broadcast Source Audio using
Isochronous channels.
if BT_BAP_BROADCAST_SOURCE
config BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT
int "Basic Audio Broadcast Source subgroup count"
default 1
range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31
range 1 31
help
This option sets the maximum number of subgroups per broadcast source
to support.
config BT_BAP_BROADCAST_SRC_COUNT
int "Basic Audio Broadcaster source count"
default 1
range 1 BT_ISO_MAX_BIG
help
This option sets the number of broadcast sources to support.
One broadcast source can send multiple streams
(up to BT_BAP_BROADCAST_SRC_STREAM_COUNT per broadcast source).
config BT_BAP_BROADCAST_SRC_STREAM_COUNT
int "Basic Audio Broadcast Source Stream count"
default 1
range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31
range 1 31
help
This option sets the maximum number of streams per broadcast source
to support.
endif # BT_BAP_BROADCAST_SOURCE
config BT_BAP_BROADCAST_SINK
bool "Bluetooth Broadcast Sink Audio Support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_ISO_SYNC_RECEIVER
select BT_AUDIO_RX
select BT_PAC_SNK
depends on BT_PERIPHERAL
depends on BT_BAP_SCAN_DELEGATOR
help
This option enables support for Bluetooth Broadcast Sink Audio using
Isochronous channels.
if BT_BAP_BROADCAST_SINK
config BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT
int "Basic Audio Profile Broadcast Sink subgroup count"
default 1
range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31
range 1 31
help
This option sets the maximum number of subgroups per broadcast sink
to support.
config BT_BAP_BROADCAST_SNK_COUNT
int "Basic Audio Broadcaster Sink count"
default 1
range 0 BT_ISO_MAX_BIG
help
This option sets the number of broadcast sinks to support.
One broadcast sink can receive multiple streams
(up to BT_BAP_BROADCAST_SNK_STREAM_COUNT per broadcast sink).
config BT_BAP_BROADCAST_SNK_STREAM_COUNT
int "Basic Audio Broadcast Sink Stream count"
depends on BT_BAP_BROADCAST_SNK_COUNT > 0
default 1
range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31
range 1 31
help
This option sets the maximum number of streams per broadcast sink
to support.
endif # BT_BAP_BROADCAST_SINK
config BT_BAP_SCAN_DELEGATOR
bool "Basic Audio Profile Scan Delegator role support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_OBSERVER
select BT_EXT_ADV
select BT_PER_ADV_SYNC
select BT_ISO_SYNC_RECEIVER
help
This option enables support for the Scan Delegator role and the
Broadcast Audio Scan Service (BASS).
if BT_BAP_SCAN_DELEGATOR
config BT_BAP_SCAN_DELEGATOR_RECV_STATE_COUNT
int "Scan Delegator Receive State Count"
default 1
range 1 3
help
Sets the number of receive state characteristics present on the
server. Each characteristic may hold information to sync to a
periodic advertise or a broadcast isochronous stream.
config BT_BAP_SCAN_DELEGATOR_BUF_TIMEOUT
int "Milliseconds of timeout when handle concurrent access to the long read ASE buffer"
range 0 1000
default 50
help
The maximum number of milliseconds that the scan delegator implementation will wait
before rejecting a read or dropping a notification if the scan delegator state is
being accessed by another thread.
endif # BT_BAP_SCAN_DELEGATOR
config BT_BAP_BROADCAST_ASSISTANT
bool "Basic Audio Profile Broadcast Assistant role support [EXPERIMENTAL]"
select EXPERIMENTAL
select BT_OBSERVER
select BT_EXT_ADV
select BT_PER_ADV_SYNC
select BT_ISO_SYNC_RECEIVER
select BT_GATT_CLIENT
select BT_GATT_AUTO_DISCOVER_CCC
select BT_GATT_AUTO_UPDATE_MTU
help
This option enables support for the Broadcast Assistant role.
if BT_BAP_BROADCAST_ASSISTANT
config BT_BAP_BROADCAST_ASSISTANT_RECV_STATE_COUNT
int "Broadcast Assistant Max Receive State Count"
default 1
range 1 255
help
Sets the number of maximum receive stat characteristics that will be
discovered and ready to use. Each characteristic may hold information
to sync to a periodic advertise or a broadcast isochronous stream.
endif # BT_BAP_BROADCAST_ASSISTANT
config BT_BAP_DEBUG_STREAM_DATA
bool "Bluetooth Audio Stream data debug"
depends on BT_BAP_STREAM_LOG_LEVEL_DBG
help
Use this option to enable Bluetooth Audio Stream data debug logs for
the Bluetooth Audio functionality. This will enable debug logs for all
audio data received and sent.
config BT_BAP_STREAM
# Virtual/hidden option
bool
default y if BT_ASCS || BT_BAP_UNICAST_CLIENT || \
BT_BAP_BROADCAST_SOURCE || BT_BAP_BROADCAST_SINK
config BT_BAP_DEBUG_STREAM_SEQ_NUM
bool "Bluetooth Audio Stream sequence number debug"
depends on BT_BAP_STREAM_LOG_LEVEL >= BT_BAP_STREAM_LOG_LEVEL_WRN
default y
help
Use this option to enable Bluetooth Audio Stream sequence number debugging logs for
the Bluetooth Audio functionality. This will provide a warning if the application
provides unexpected sequence numbers.
config BT_BAP_BASE
def_bool BT_BAP_BROADCAST_SINK || BT_BAP_BROADCAST_ASSISTANT || BT_BAP_SCAN_DELEGATOR
rsource "Kconfig.pacs"
rsource "Kconfig.ascs"