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