1# Bluetooth Audio - Media control configuration options
2
3#
4# Copyright (c) 2020-2022 Nordic Semiconductor
5#
6# SPDX-License-Identifier: Apache-2.0
7#
8
9#### Media Control Service ################################
10
11config BT_MCS
12	bool "Media Control Service Support"
13	depends on MCTL_LOCAL_PLAYER_REMOTE_CONTROL
14	depends on UTF8
15	select BT_CCID
16	select EXPERIMENTAL
17	select BT_GATT_DYNAMIC_DB
18	help
19	  This option enables support for the Media Control Service.
20
21#### Media Control Client ################################
22
23config BT_MCC
24	bool "Media Control Client Support"
25	select BT_GATT_CLIENT
26	select BT_GATT_AUTO_DISCOVER_CCC
27	select EXPERIMENTAL
28	help
29	  This option enables support for the Media Control Client.
30
31if BT_MCC
32
33config BT_MCC_MEDIA_PLAYER_NAME_MAX
34	int "Max length of media player name"
35	default 20
36	range 1 255
37	help
38	  Sets the maximum number of bytes (including the null termination) of
39	  the name of the media player. If the name is longer, the media
40	  control client will truncate the name when reading it.
41
42config BT_MCC_ICON_URL_MAX
43	int "Max length of media player icon URL"
44	default 40
45	range 1 255
46	help
47	  Sets the maximum number of bytes (including the null termination) of
48	  the media player icon URL. If the URL is longer, the media control
49	  client will truncate the name when reading it.
50
51config BT_MCC_TRACK_TITLE_MAX
52	int "Max length of the title of a track"
53	default 40
54	range 1 255
55	help
56	  Sets the maximum number of bytes (including the null termination) of
57	  the title of any track in the media player. If the title is longer,
58	  the media control client will truncate the title when reading it.
59
60config BT_MCC_SEGMENT_NAME_MAX
61	int "Max length of the name of a track segment"
62	default 25
63	range 1 255
64	help
65	  Sets the the maximum number of bytes (including the null termination)
66	  of the name of any track segment in the media player. If the name is
67	  longer, the media control client will truncate the name when reading
68	  it.
69
70config BT_MCC_OTS
71	bool "Media Control Client support for Object Transfer Service"
72	depends on BT_OTS_CLIENT
73	help
74	  Use this option to configure support in the Media Control Client for
75	  an included Object Transfer Service in the Media Control Service.
76
77if BT_MCC_OTS
78
79config BT_MCC_OTC_OBJ_BUF_SIZE
80	int "The size of the buffer used for OTC object in MCC"
81	default 512
82	range 1 65536
83	help
84	  Sets the size (in octets) of the buffer used for receiving the content
85	  of objects.
86	  Should be set large enough to fit any expected object.
87
88config BT_MCC_TOTAL_OBJ_CONTENT_MEM
89	int "Total memory size to use for storing the content of objects"
90	default 1
91	range 0 65536
92	help
93	  Sets the total memory size (in octets) to use for storing the content
94	  of objects.
95	  This is used for the total memory pool buffer size from which memory
96	  is allocated when reading object content.
97
98config BT_MCC_TRACK_SEGS_MAX_CNT
99	int "Maximum number of tracks segments in a track segment object"
100	default 25
101	range 0 500
102	help
103	  Sets the maximum number of tracks segments in a track segment object.
104	  If the received object is bigger, the remaining data in the object
105	  will be ignored.
106
107config BT_MCC_GROUP_RECORDS_MAX
108	int "Maximum number of records in a group object"
109	default 25
110	range 0 500
111	help
112	  Sets the maximum number of records in a group object. If the received
113	  group object has more records than this, the remaining records in the
114	  object will be ignored.
115
116endif # BT_MCC_OTS
117
118config BT_MCC_SHELL
119	bool "Media Control Client Shell Support"
120	default y if BT_SHELL
121	help
122	  This option enables shell support for the Media Control Client.
123
124endif # BT_MCC
125