Bluetooth: Audio: Media control Kconfig

Add Kconfig file for the media proxy, for high-level media control
configuration.

The media proxy did not have a Kconfig file, it was relying on the
Kconfigs for GATT media control client and server.

The purpose is to unify the media control configurations, to make the
different media control functionalities available separately, and to
separate the high-level media control from the bluetooth media control
server and client.

Signed-off-by: Asbjørn Sæbø <asbjorn.sabo@nordicsemi.no>
This commit is contained in:
Asbjørn Sæbø 2022-02-15 14:43:33 +01:00 committed by Carles Cufí
commit 29aa654600
6 changed files with 84 additions and 14 deletions

View file

@ -38,12 +38,7 @@ zephyr_library_sources_ifdef(CONFIG_BT_MCS mcs.c)
zephyr_library_sources_ifdef(CONFIG_BT_MPL mpl.c) zephyr_library_sources_ifdef(CONFIG_BT_MPL mpl.c)
if (CONFIG_BT_MCS OR CONFIG_BT_MPL) zephyr_library_sources_ifdef(CONFIG_MCTL media_proxy.c)
# TODO: Remove dependencies between mpl.c and mcs.c
zephyr_library_sources(media_proxy.c)
zephyr_library_sources(mpl.c)
zephyr_library_sources(mcs.c)
endif()
zephyr_library_sources_ifdef(CONFIG_BT_ASCS ascs.c) zephyr_library_sources_ifdef(CONFIG_BT_ASCS ascs.c)
zephyr_library_sources_ifdef(CONFIG_BT_PACS pacs.c) zephyr_library_sources_ifdef(CONFIG_BT_PACS pacs.c)

View file

@ -35,5 +35,6 @@ rsource "Kconfig.mcs"
rsource "Kconfig.bass" rsource "Kconfig.bass"
rsource "Kconfig.has" rsource "Kconfig.has"
rsource "Kconfig.mpl" rsource "Kconfig.mpl"
rsource "Kconfig.mctl"
endif # BT_AUDIO endif # BT_AUDIO

View file

@ -10,6 +10,7 @@
config BT_MCS config BT_MCS
bool "Media Control Service Support" bool "Media Control Service Support"
depends on MCTL_LOCAL_PLAYER_REMOTE_CONTROL
select BT_CCID select BT_CCID
select EXPERIMENTAL select EXPERIMENTAL
help help
@ -136,10 +137,4 @@ config BT_MCS_SEGMENT_NAME_MAX
Sets the the maximum number of bytes (including the null termination) Sets the the maximum number of bytes (including the null termination)
of the name of any track segment in the media player. of the name of any track segment in the media player.
config BT_DEBUG_MEDIA_PROXY
bool "Media Proxy debug"
help
Use this option to enable Media Proxy debug logs for the
Bluetooth Audio functionality.
endif # BT_MCS || BT_MCC endif # BT_MCS || BT_MCC

View file

@ -0,0 +1,64 @@
# Bluetooth Audio - Media control configuration options
#
# Copyright (c) 2022 Nordic Semiconductor
#
# SPDX-License-Identifier: Apache-2.0
#
# TODO: Decide, and add, top-level namespace prefix (currently none) to symbols.
# Dependent upon where the module will be placed.
config MCTL
bool "Support for media player control"
select EXPERIMENTAL
help
Enables support for control of local and remote media players
To enable support for control of a local media player, support for
local media player must be enabled
if MCTL
config MCTL_LOCAL_PLAYER_CONTROL
bool "Support for control of local media player"
help
This option enables support for control of a local media player
config MCTL_LOCAL_PLAYER_LOCAL_CONTROL
bool "Support for local control of local media player"
depends on MCTL_LOCAL_PLAYER_CONTROL
help
This option enables support for local application control of local
media players
config MCTL_LOCAL_PLAYER_REMOTE_CONTROL
bool "Support for remote control of local media players"
depends on MCTL_LOCAL_PLAYER_CONTROL
help
This option enables support for remote control of local media
players.
config MCTL_REMOTE_PLAYER_CONTROL
bool "Support for control of remote media player"
default y
# TODO: Remove dependency on BT_MCC once MCC has been reworked
depends on BT_MCC
help
This options enables support for control of a remote media player.
config MCTL_REMOTE_PLAYER_CONTROL_OBJECTS
bool "Support for accessing objects on remote player"
depends on MCTL_REMOTE_PLAYER_CONTROL
default y
# TODO: Remove dependency on BT_MCC_OTS once MCC has been reworked
depends on BT_MCC_OTS
help
This options enables support for accessing objects (tracks, groups,
search results, ...) on a remote media player
config MCTL_DEBUG
bool "Media control debug"
help
Use this option to enable Media control debug logs
endif # MCTL

View file

@ -55,6 +55,14 @@ CONFIG_BT_CSIS_TEST_SAMPLE_DATA=y
CONFIG_BT_CSIS_CLIENT=y CONFIG_BT_CSIS_CLIENT=y
CONFIG_BT_CSIS_CLIENT_TEST_SAMPLE_DATA=y CONFIG_BT_CSIS_CLIENT_TEST_SAMPLE_DATA=y
# Media control
CONFIG_MCTL=y
CONFIG_MCTL_LOCAL_PLAYER_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_LOCAL_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_REMOTE_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL_OBJECTS=y
# Media player # Media player
CONFIG_BT_MPL=y CONFIG_BT_MPL=y
CONFIG_BT_MPL_OBJECTS=y CONFIG_BT_MPL_OBJECTS=y
@ -96,7 +104,7 @@ CONFIG_BT_DEBUG_MCS=y
CONFIG_BT_DEBUG_MCC=y CONFIG_BT_DEBUG_MCC=y
CONFIG_BT_OTS_LOG_LEVEL_DBG=y CONFIG_BT_OTS_LOG_LEVEL_DBG=y
CONFIG_BT_DEBUG_OTS_CLIENT=y CONFIG_BT_DEBUG_OTS_CLIENT=y
CONFIG_BT_DEBUG_MEDIA_PROXY=y CONFIG_MCTL_DEBUG=y
CONFIG_BT_DEBUG_CSIS=y CONFIG_BT_DEBUG_CSIS=y
CONFIG_BT_DEBUG_CSIS_CLIENT=y CONFIG_BT_DEBUG_CSIS_CLIENT=y
CONFIG_BT_DEBUG_CSIS_CRYPTO=y CONFIG_BT_DEBUG_CSIS_CRYPTO=y

View file

@ -64,6 +64,13 @@ CONFIG_BT_CSIS=y
CONFIG_BT_CSIS_CLIENT=y CONFIG_BT_CSIS_CLIENT=y
CONFIG_BT_CSIS_CLIENT_MAX_CSIS_INSTANCES=2 CONFIG_BT_CSIS_CLIENT_MAX_CSIS_INSTANCES=2
CONFIG_MCTL=y
CONFIG_MCTL_LOCAL_PLAYER_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_LOCAL_CONTROL=y
CONFIG_MCTL_LOCAL_PLAYER_REMOTE_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL=y
CONFIG_MCTL_REMOTE_PLAYER_CONTROL_OBJECTS=y
CONFIG_BT_MPL=y CONFIG_BT_MPL=y
CONFIG_BT_MPL_MEDIA_PLAYER_NAME_MAX=30 CONFIG_BT_MPL_MEDIA_PLAYER_NAME_MAX=30
CONFIG_BT_MPL_MEDIA_PLAYER_NAME="My media player" CONFIG_BT_MPL_MEDIA_PLAYER_NAME="My media player"
@ -107,7 +114,7 @@ CONFIG_BT_DEBUG_MCS=y
CONFIG_BT_DEBUG_MCC=y CONFIG_BT_DEBUG_MCC=y
CONFIG_BT_OTS_LOG_LEVEL_DBG=y CONFIG_BT_OTS_LOG_LEVEL_DBG=y
CONFIG_BT_DEBUG_OTS_CLIENT=y CONFIG_BT_DEBUG_OTS_CLIENT=y
CONFIG_BT_DEBUG_MEDIA_PROXY=y CONFIG_MCTL_DEBUG=y
CONFIG_BT_DEBUG_ASCS=y CONFIG_BT_DEBUG_ASCS=y
CONFIG_BT_DEBUG_PACS=y CONFIG_BT_DEBUG_PACS=y