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	depends on BT_GATT_DYNAMIC_DB
16	depends on BT_SMP
17	help
18	  This option enables support for the Media Control Service.
19
20#### Media Control Client ################################
21
22config BT_MCC
23	bool "Media Control Client Support"
24	depends on BT_GATT_CLIENT
25	depends on BT_GATT_AUTO_DISCOVER_CCC
26	depends on BT_SMP
27	help
28	  This option enables support for the Media Control Client.
29
30if BT_MCC
31
32config BT_MCC_MEDIA_PLAYER_NAME_MAX
33	int "Max length of media player name"
34	default 20
35	range 1 $(UINT8_MAX)
36	help
37	  Sets the maximum number of bytes (including the null termination) of
38	  the name of the media player. If the name is longer, the media
39	  control client will truncate the name when reading it.
40
41config BT_MCC_ICON_URL_MAX
42	int "Max length of media player icon URL"
43	default 40
44	range 1 $(UINT8_MAX)
45	help
46	  Sets the maximum number of bytes (including the null termination) of
47	  the media player icon URL. If the URL is longer, the media control
48	  client will truncate the name when reading it.
49
50config BT_MCC_TRACK_TITLE_MAX
51	int "Max length of the title of a track"
52	default 40
53	range 1 $(UINT8_MAX)
54	help
55	  Sets the maximum number of bytes (including the null termination) of
56	  the title of any track in the media player. If the title is longer,
57	  the media control client will truncate the title when reading it.
58
59config BT_MCC_SEGMENT_NAME_MAX
60	int "Max length of the name of a track segment"
61	default 25
62	range 1 $(UINT8_MAX)
63	help
64	  Sets the maximum number of bytes (including the null termination)
65	  of the name of any track segment in the media player. If the name is
66	  longer, the media control client will truncate the name when reading
67	  it.
68
69config BT_MCC_OTS
70	bool "Media Control Client support for Object Transfer Service"
71	depends on BT_OTS_CLIENT
72	help
73	  Use this option to configure support in the Media Control Client for
74	  an included Object Transfer Service in the Media Control Service.
75
76if BT_MCC_OTS
77
78config BT_MCC_OTC_OBJ_BUF_SIZE
79	int "The size of the buffer used for OTC object in MCC"
80	default 512
81	range 1 65536
82	help
83	  Sets the size (in octets) of the buffer used for receiving the content
84	  of objects.
85	  Should be set large enough to fit any expected object.
86
87config BT_MCC_TOTAL_OBJ_CONTENT_MEM
88	int "Total memory size to use for storing the content of objects"
89	default 1
90	range 0 65536
91	help
92	  Sets the total memory size (in octets) to use for storing the content
93	  of objects.
94	  This is used for the total memory pool buffer size from which memory
95	  is allocated when reading object content.
96
97config BT_MCC_TRACK_SEGS_MAX_CNT
98	int "Maximum number of tracks segments in a track segment object"
99	default 25
100	range 0 500
101	help
102	  Sets the maximum number of tracks segments in a track segment object.
103	  If the received object is bigger, the remaining data in the object
104	  will be ignored.
105
106config BT_MCC_GROUP_RECORDS_MAX
107	int "Maximum number of records in a group object"
108	default 25
109	range 0 500
110	help
111	  Sets the maximum number of records in a group object. If the received
112	  group object has more records than this, the remaining records in the
113	  object will be ignored.
114
115endif # BT_MCC_OTS
116
117config BT_MCC_SHELL
118	bool "Media Control Client Shell Support"
119	default y if BT_SHELL
120	help
121	  This option enables shell support for the Media Control Client.
122
123config BT_MCC_MINIMAL
124	bool "Minimal Media Control Client without optional procedures"
125	help
126	  This option disables all optional procedures in the Media Control Client.
127
128config BT_MCC_READ_MEDIA_PLAYER_ICON_URL
129	bool "Support reading Media Player Icon URL"
130	default !BT_MCC_MINIMAL
131	help
132	  This option enables support for Read Media Information procedure
133	  optionally read the Media Player Icon URL.
134
135config BT_MCC_READ_TRACK_TITLE
136	bool "Support reading Track Title"
137	default !BT_MCC_MINIMAL
138	help
139	  This option enables support for reading Track Title.
140
141config BT_MCC_READ_TRACK_TITLE_ENABLE_SUBSCRIPTION
142	bool "Support to enable or disable the subscription of Track Title"
143	default !BT_MCC_MINIMAL
144	help
145	  This option enables support for the subscription of Track Title.
146
147config BT_MCC_READ_TRACK_DURATION
148	bool "Support reading Track Duration"
149	default !BT_MCC_MINIMAL
150	help
151	  This option enables support for reading Track Duration.
152
153config BT_MCC_READ_TRACK_POSITION
154	bool "Support reading Track Position"
155	default !BT_MCC_MINIMAL
156	help
157	  This option enables support for reading Track Position.
158
159config BT_MCC_SET_TRACK_POSITION
160	bool "Support setting Track Position"
161	default !BT_MCC_MINIMAL
162	help
163	  This option enables support for setting Track Position.
164
165config BT_MCC_READ_PLAYBACK_SPEED
166	bool "Support reading Playback Speed"
167	default !BT_MCC_MINIMAL
168	help
169	  This option enables support for reading Playback Speed.
170
171config BT_MCC_SET_PLAYBACK_SPEED
172	bool "Support setting Playback Speed"
173	default !BT_MCC_MINIMAL
174	help
175	  This option enables support for setting Playback Speed.
176
177config BT_MCC_READ_SEEKING_SPEED
178	bool "Support reading Seeking Speed"
179	default !BT_MCC_MINIMAL
180	help
181	  This option enables support for reading Seeking Speed.
182
183config BT_MCC_READ_PLAYING_ORDER
184	bool "Support reading Playing Order"
185	default !BT_MCC_MINIMAL
186	help
187	  This option enables support for reading Playing Order.
188
189config BT_MCC_SET_PLAYING_ORDER
190	bool "Support setting Playing Order"
191	default !BT_MCC_MINIMAL
192	help
193	  This option enables support for setting Playing Order.
194
195config BT_MCC_READ_PLAYING_ORDER_SUPPORTED
196	bool "Support reading Playing Order Supported"
197	default !BT_MCC_MINIMAL
198	help
199	  This option enables support for reading Playing Order Supported.
200
201config BT_MCC_READ_MEDIA_STATE
202	bool "Support reading Media State"
203	default !BT_MCC_MINIMAL
204	help
205	  This option enables support for reading Media State.
206
207config BT_MCC_SET_MEDIA_CONTROL_POINT
208	bool "Support setting Media Control Point"
209	default !BT_MCC_MINIMAL
210	help
211	  This option enables support for setting Media Control Point.
212
213config BT_MCC_READ_MEDIA_CONTROL_POINT_OPCODES_SUPPORTED
214	bool "Support reading Media Control Point Opcodes Supported"
215	default !BT_MCC_MINIMAL
216	help
217	  This option enables support for reading Media Control Point Opcodes Supported.
218
219config BT_MCC_READ_CONTENT_CONTROL_ID
220	bool "Support reading Content Control ID"
221	default !BT_MCC_MINIMAL
222	help
223	  This option enables support for reading Content Control ID.
224
225endif # BT_MCC
226