Modify ASCS and BAP Broadcast sink to depend on the PAC options instead of selecting them. Since Kconfig does not support "depends on X if Y", a select for PAC_{SRC,SNK} is used depending on ASCS_ASE_{SRC,SNK}. Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
289 lines
8.8 KiB
Text
289 lines
8.8 KiB
Text
# 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
|
|
def_bool BT_BAP_UNICAST_SERVER || BT_BAP_UNICAST_CLIENT
|
|
|
|
config BT_BAP_UNICAST_SERVER
|
|
bool "Bluetooth Unicast Audio Server Support"
|
|
depends on BT_GATT_DYNAMIC_DB
|
|
depends on BT_GATT_CACHING
|
|
depends on BT_PERIPHERAL
|
|
depends on BT_ISO_PERIPHERAL
|
|
depends on BT_ASCS
|
|
depends on BT_BONDABLE
|
|
select BT_PAC_SRC if BT_ASCS_ASE_SNK
|
|
select BT_PAC_SNK if BT_ASCS_ASE_SRC
|
|
help
|
|
This option enables support for Bluetooth Unicast Audio Server
|
|
using Isochronous channels.
|
|
|
|
config BT_BAP_UNICAST_CLIENT
|
|
bool "Bluetooth Unicast Audio Client Support"
|
|
depends on BT_GATT_CLIENT
|
|
depends on BT_GATT_AUTO_DISCOVER_CCC
|
|
depends on BT_GATT_AUTO_UPDATE_MTU
|
|
depends on BT_CENTRAL
|
|
depends on BT_ISO_CENTRAL
|
|
depends on BT_BONDABLE
|
|
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 $(UINT8_MAX)
|
|
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 $(UINT8_MAX)
|
|
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 $(UINT8_MAX)
|
|
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 $(UINT8_MAX)
|
|
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"
|
|
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 $(UINT8_MAX)
|
|
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 $(UINT8_MAX)
|
|
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
|
|
|
|
config BT_BAP_UNICAST_CLIENT_ASE_SRC
|
|
def_bool BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT > 0
|
|
|
|
endif # BT_BAP_UNICAST_CLIENT
|
|
|
|
config BT_BAP_BROADCAST_SOURCE
|
|
bool "Bluetooth Broadcast Source Audio Support"
|
|
depends on BT_ISO_BROADCASTER
|
|
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"
|
|
depends on BT_ISO_SYNC_RECEIVER
|
|
depends on 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"
|
|
select BT_EXT_ADV
|
|
select BT_PER_ADV_SYNC
|
|
depends on BT_ISO_SYNC_RECEIVER
|
|
depends on BT_OBSERVER
|
|
depends on BT_GATT_DYNAMIC_DB
|
|
depends on BT_BONDABLE
|
|
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"
|
|
select BT_EXT_ADV
|
|
select BT_PER_ADV_SYNC
|
|
depends on BT_ISO_SYNC_RECEIVER
|
|
depends on BT_GATT_CLIENT
|
|
depends on BT_GATT_AUTO_DISCOVER_CCC
|
|
depends on BT_GATT_AUTO_UPDATE_MTU
|
|
depends on BT_OBSERVER
|
|
depends on BT_BONDABLE
|
|
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 $(UINT8_MAX)
|
|
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"
|