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