7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
8#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
91#define MEDIA_PROXY_PLAYBACK_SPEED_MIN -128
92#define MEDIA_PROXY_PLAYBACK_SPEED_QUARTER -128
93#define MEDIA_PROXY_PLAYBACK_SPEED_HALF -64
94#define MEDIA_PROXY_PLAYBACK_SPEED_UNITY 0
95#define MEDIA_PROXY_PLAYBACK_SPEED_DOUBLE 64
96#define MEDIA_PROXY_PLAYBACK_SPEED_MAX 127
105#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MAX 64
106#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MIN 4
107#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO 0
112#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_ONCE 0x01
113#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_REPEAT 0x02
114#define MEDIA_PROXY_PLAYING_ORDER_INORDER_ONCE 0x03
115#define MEDIA_PROXY_PLAYING_ORDER_INORDER_REPEAT 0x04
116#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_ONCE 0x05
117#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_REPEAT 0x06
118#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_ONCE 0x07
119#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_REPEAT 0x08
120#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_ONCE 0x09
121#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_REPEAT 0x0a
129#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_ONCE BIT(0)
130#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_REPEAT BIT(1)
131#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_ONCE BIT(2)
132#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_REPEAT BIT(3)
133#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_ONCE BIT(4)
134#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_REPEAT BIT(5)
135#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_ONCE BIT(6)
136#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_REPEAT BIT(7)
137#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_ONCE BIT(8)
138#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_REPEAT BIT(9)
143#define MEDIA_PROXY_STATE_INACTIVE 0x00
144#define MEDIA_PROXY_STATE_PLAYING 0x01
145#define MEDIA_PROXY_STATE_PAUSED 0x02
146#define MEDIA_PROXY_STATE_SEEKING 0x03
147#define MEDIA_PROXY_STATE_LAST 0x04
152#define MEDIA_PROXY_OP_PLAY 0x01
153#define MEDIA_PROXY_OP_PAUSE 0x02
154#define MEDIA_PROXY_OP_FAST_REWIND 0x03
155#define MEDIA_PROXY_OP_FAST_FORWARD 0x04
156#define MEDIA_PROXY_OP_STOP 0x05
158#define MEDIA_PROXY_OP_MOVE_RELATIVE 0x10
160#define MEDIA_PROXY_OP_PREV_SEGMENT 0x20
161#define MEDIA_PROXY_OP_NEXT_SEGMENT 0x21
162#define MEDIA_PROXY_OP_FIRST_SEGMENT 0x22
163#define MEDIA_PROXY_OP_LAST_SEGMENT 0x23
164#define MEDIA_PROXY_OP_GOTO_SEGMENT 0x24
166#define MEDIA_PROXY_OP_PREV_TRACK 0x30
167#define MEDIA_PROXY_OP_NEXT_TRACK 0x31
168#define MEDIA_PROXY_OP_FIRST_TRACK 0x32
169#define MEDIA_PROXY_OP_LAST_TRACK 0x33
170#define MEDIA_PROXY_OP_GOTO_TRACK 0x34
172#define MEDIA_PROXY_OP_PREV_GROUP 0x40
173#define MEDIA_PROXY_OP_NEXT_GROUP 0x41
174#define MEDIA_PROXY_OP_FIRST_GROUP 0x42
175#define MEDIA_PROXY_OP_LAST_GROUP 0x43
176#define MEDIA_PROXY_OP_GOTO_GROUP 0x44
181#define MEDIA_PROXY_OPCODES_SUPPORTED_LEN 4
186#define MEDIA_PROXY_OP_SUP_PLAY BIT(0)
187#define MEDIA_PROXY_OP_SUP_PAUSE BIT(1)
188#define MEDIA_PROXY_OP_SUP_FAST_REWIND BIT(2)
189#define MEDIA_PROXY_OP_SUP_FAST_FORWARD BIT(3)
190#define MEDIA_PROXY_OP_SUP_STOP BIT(4)
192#define MEDIA_PROXY_OP_SUP_MOVE_RELATIVE BIT(5)
194#define MEDIA_PROXY_OP_SUP_PREV_SEGMENT BIT(6)
195#define MEDIA_PROXY_OP_SUP_NEXT_SEGMENT BIT(7)
196#define MEDIA_PROXY_OP_SUP_FIRST_SEGMENT BIT(8)
197#define MEDIA_PROXY_OP_SUP_LAST_SEGMENT BIT(9)
198#define MEDIA_PROXY_OP_SUP_GOTO_SEGMENT BIT(10)
200#define MEDIA_PROXY_OP_SUP_PREV_TRACK BIT(11)
201#define MEDIA_PROXY_OP_SUP_NEXT_TRACK BIT(12)
202#define MEDIA_PROXY_OP_SUP_FIRST_TRACK BIT(13)
203#define MEDIA_PROXY_OP_SUP_LAST_TRACK BIT(14)
204#define MEDIA_PROXY_OP_SUP_GOTO_TRACK BIT(15)
206#define MEDIA_PROXY_OP_SUP_PREV_GROUP BIT(16)
207#define MEDIA_PROXY_OP_SUP_NEXT_GROUP BIT(17)
208#define MEDIA_PROXY_OP_SUP_FIRST_GROUP BIT(18)
209#define MEDIA_PROXY_OP_SUP_LAST_GROUP BIT(19)
210#define MEDIA_PROXY_OP_SUP_GOTO_GROUP BIT(20)
215#define MEDIA_PROXY_CMD_SUCCESS 0x01
216#define MEDIA_PROXY_CMD_NOT_SUPPORTED 0x02
217#define MEDIA_PROXY_CMD_PLAYER_INACTIVE 0x03
218#define MEDIA_PROXY_CMD_CANNOT_BE_COMPLETED 0x04
223#define MEDIA_PROXY_SEARCH_TYPE_TRACK_NAME 0x01
224#define MEDIA_PROXY_SEARCH_TYPE_ARTIST_NAME 0x02
225#define MEDIA_PROXY_SEARCH_TYPE_ALBUM_NAME 0x03
226#define MEDIA_PROXY_SEARCH_TYPE_GROUP_NAME 0x04
227#define MEDIA_PROXY_SEARCH_TYPE_EARLIEST_YEAR 0x05
228#define MEDIA_PROXY_SEARCH_TYPE_LATEST_YEAR 0x06
229#define MEDIA_PROXY_SEARCH_TYPE_GENRE 0x07
230#define MEDIA_PROXY_SEARCH_TYPE_ONLY_TRACKS 0x08
231#define MEDIA_PROXY_SEARCH_TYPE_ONLY_GROUPS 0x09
236#define MEDIA_PROXY_SEARCH_SUCCESS 0x01
237#define MEDIA_PROXY_SEARCH_FAILURE 0x02
240#define MEDIA_PROXY_GROUP_OBJECT_TRACK_TYPE 0x00
241#define MEDIA_PROXY_GROUP_OBJECT_GROUP_TYPE 0x01
270#ifdef CONFIG_MCTL_REMOTE_PLAYER_CONTROL
282 void (*discover_player)(
struct media_player *player,
int err);
322 void (*
icon_url_recv)(
struct media_player *player,
int err,
const char *url);
1124 const char *(*get_player_name)(void);
1146 const char *(*get_icon_url)(void);
1153 const char *(*get_track_title)(void);
Bluetooth subsystem core APIs.
#define SEARCH_PARAM_MAX
Definition: mcs.h:171
#define SEARCH_LEN_MAX
Definition: mcs.h:169
static void cmd(uint32_t command)
Execute a display list command by co-processor engine.
Definition: ft8xx_reference_api.h:153
state
Definition: parser_state.h:29
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
__INT32_TYPE__ int32_t
Definition: stdint.h:74
__UINT64_TYPE__ uint64_t
Definition: stdint.h:91
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
__INT8_TYPE__ int8_t
Definition: stdint.h:72
Media command notification.
Definition: media_proxy.h:64
uint8_t result_code
Definition: media_proxy.h:66
uint8_t requested_opcode
Definition: media_proxy.h:65
Media player command.
Definition: media_proxy.h:55
uint8_t opcode
Definition: media_proxy.h:56
bool use_param
Definition: media_proxy.h:57
int32_t param
Definition: media_proxy.h:58
Search control item.
Definition: media_proxy.h:72
uint8_t type
MEDIA_PROXY_SEARCH_TYPE_<...>
Definition: media_proxy.h:74
uint8_t len
Length of type and parameter.
Definition: media_proxy.h:73
char param[62]
Search parameter.
Definition: media_proxy.h:75
Search.
Definition: media_proxy.h:81
uint8_t len
Definition: media_proxy.h:82
char search[64]
Definition: media_proxy.h:83