7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
8#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
90#define MEDIA_PROXY_PLAYBACK_SPEED_MIN -128
91#define MEDIA_PROXY_PLAYBACK_SPEED_QUARTER -128
92#define MEDIA_PROXY_PLAYBACK_SPEED_HALF -64
93#define MEDIA_PROXY_PLAYBACK_SPEED_UNITY 0
94#define MEDIA_PROXY_PLAYBACK_SPEED_DOUBLE 64
95#define MEDIA_PROXY_PLAYBACK_SPEED_MAX 127
104#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MAX 64
105#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MIN 4
106#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO 0
111#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_ONCE 0x01
112#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_REPEAT 0x02
113#define MEDIA_PROXY_PLAYING_ORDER_INORDER_ONCE 0x03
114#define MEDIA_PROXY_PLAYING_ORDER_INORDER_REPEAT 0x04
115#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_ONCE 0x05
116#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_REPEAT 0x06
117#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_ONCE 0x07
118#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_REPEAT 0x08
119#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_ONCE 0x09
120#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_REPEAT 0x0a
128#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_ONCE BIT(0)
129#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_REPEAT BIT(1)
130#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_ONCE BIT(2)
131#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_REPEAT BIT(3)
132#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_ONCE BIT(4)
133#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_REPEAT BIT(5)
134#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_ONCE BIT(6)
135#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_REPEAT BIT(7)
136#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_ONCE BIT(8)
137#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_REPEAT BIT(9)
142#define MEDIA_PROXY_STATE_INACTIVE 0x00
143#define MEDIA_PROXY_STATE_PLAYING 0x01
144#define MEDIA_PROXY_STATE_PAUSED 0x02
145#define MEDIA_PROXY_STATE_SEEKING 0x03
146#define MEDIA_PROXY_STATE_LAST 0x04
151#define MEDIA_PROXY_OP_PLAY 0x01
152#define MEDIA_PROXY_OP_PAUSE 0x02
153#define MEDIA_PROXY_OP_FAST_REWIND 0x03
154#define MEDIA_PROXY_OP_FAST_FORWARD 0x04
155#define MEDIA_PROXY_OP_STOP 0x05
157#define MEDIA_PROXY_OP_MOVE_RELATIVE 0x10
159#define MEDIA_PROXY_OP_PREV_SEGMENT 0x20
160#define MEDIA_PROXY_OP_NEXT_SEGMENT 0x21
161#define MEDIA_PROXY_OP_FIRST_SEGMENT 0x22
162#define MEDIA_PROXY_OP_LAST_SEGMENT 0x23
163#define MEDIA_PROXY_OP_GOTO_SEGMENT 0x24
165#define MEDIA_PROXY_OP_PREV_TRACK 0x30
166#define MEDIA_PROXY_OP_NEXT_TRACK 0x31
167#define MEDIA_PROXY_OP_FIRST_TRACK 0x32
168#define MEDIA_PROXY_OP_LAST_TRACK 0x33
169#define MEDIA_PROXY_OP_GOTO_TRACK 0x34
171#define MEDIA_PROXY_OP_PREV_GROUP 0x40
172#define MEDIA_PROXY_OP_NEXT_GROUP 0x41
173#define MEDIA_PROXY_OP_FIRST_GROUP 0x42
174#define MEDIA_PROXY_OP_LAST_GROUP 0x43
175#define MEDIA_PROXY_OP_GOTO_GROUP 0x44
180#define MEDIA_PROXY_OPCODES_SUPPORTED_LEN 4
185#define MEDIA_PROXY_OP_SUP_PLAY BIT(0)
186#define MEDIA_PROXY_OP_SUP_PAUSE BIT(1)
187#define MEDIA_PROXY_OP_SUP_FAST_REWIND BIT(2)
188#define MEDIA_PROXY_OP_SUP_FAST_FORWARD BIT(3)
189#define MEDIA_PROXY_OP_SUP_STOP BIT(4)
191#define MEDIA_PROXY_OP_SUP_MOVE_RELATIVE BIT(5)
193#define MEDIA_PROXY_OP_SUP_PREV_SEGMENT BIT(6)
194#define MEDIA_PROXY_OP_SUP_NEXT_SEGMENT BIT(7)
195#define MEDIA_PROXY_OP_SUP_FIRST_SEGMENT BIT(8)
196#define MEDIA_PROXY_OP_SUP_LAST_SEGMENT BIT(9)
197#define MEDIA_PROXY_OP_SUP_GOTO_SEGMENT BIT(10)
199#define MEDIA_PROXY_OP_SUP_PREV_TRACK BIT(11)
200#define MEDIA_PROXY_OP_SUP_NEXT_TRACK BIT(12)
201#define MEDIA_PROXY_OP_SUP_FIRST_TRACK BIT(13)
202#define MEDIA_PROXY_OP_SUP_LAST_TRACK BIT(14)
203#define MEDIA_PROXY_OP_SUP_GOTO_TRACK BIT(15)
205#define MEDIA_PROXY_OP_SUP_PREV_GROUP BIT(16)
206#define MEDIA_PROXY_OP_SUP_NEXT_GROUP BIT(17)
207#define MEDIA_PROXY_OP_SUP_FIRST_GROUP BIT(18)
208#define MEDIA_PROXY_OP_SUP_LAST_GROUP BIT(19)
209#define MEDIA_PROXY_OP_SUP_GOTO_GROUP BIT(20)
214#define MEDIA_PROXY_CMD_SUCCESS 0x01
215#define MEDIA_PROXY_CMD_NOT_SUPPORTED 0x02
216#define MEDIA_PROXY_CMD_PLAYER_INACTIVE 0x03
217#define MEDIA_PROXY_CMD_CANNOT_BE_COMPLETED 0x04
222#define MEDIA_PROXY_SEARCH_TYPE_TRACK_NAME 0x01
223#define MEDIA_PROXY_SEARCH_TYPE_ARTIST_NAME 0x02
224#define MEDIA_PROXY_SEARCH_TYPE_ALBUM_NAME 0x03
225#define MEDIA_PROXY_SEARCH_TYPE_GROUP_NAME 0x04
226#define MEDIA_PROXY_SEARCH_TYPE_EARLIEST_YEAR 0x05
227#define MEDIA_PROXY_SEARCH_TYPE_LATEST_YEAR 0x06
228#define MEDIA_PROXY_SEARCH_TYPE_GENRE 0x07
229#define MEDIA_PROXY_SEARCH_TYPE_ONLY_TRACKS 0x08
230#define MEDIA_PROXY_SEARCH_TYPE_ONLY_GROUPS 0x09
235#define MEDIA_PROXY_SEARCH_SUCCESS 0x01
236#define MEDIA_PROXY_SEARCH_FAILURE 0x02
239#define MEDIA_PROXY_GROUP_OBJECT_TRACK_TYPE 0x00
240#define MEDIA_PROXY_GROUP_OBJECT_GROUP_TYPE 0x01
269#ifdef CONFIG_MCTL_REMOTE_PLAYER_CONTROL
281 void (*discover_player)(
struct media_player *player,
int err);
321 void (*
icon_url_recv)(
struct media_player *player,
int err,
const char *url);
1123 const char *(*get_player_name)(void);
1145 const char *(*get_icon_url)(void);
1152 const char *(*get_track_title)(void);
Bluetooth subsystem core APIs.
struct result result[2]
Definition: errno.c:42
#define SEARCH_PARAM_MAX
Definition: mcs.h:170
#define SEARCH_LEN_MAX
Definition: mcs.h:168
static void cmd(uint32_t command)
Execute a display list command by co-processor engine.
Definition: ft8xx_reference_api.h:153
state
Definition: http_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:63
uint8_t result_code
Definition: media_proxy.h:65
uint8_t requested_opcode
Definition: media_proxy.h:64
Media player command.
Definition: media_proxy.h:54
uint8_t opcode
Definition: media_proxy.h:55
bool use_param
Definition: media_proxy.h:56
int32_t param
Definition: media_proxy.h:57
Search control item.
Definition: media_proxy.h:71
uint8_t type
Definition: media_proxy.h:73
uint8_t len
Definition: media_proxy.h:72
char param[62]
Definition: media_proxy.h:74
Search.
Definition: media_proxy.h:80
uint8_t len
Definition: media_proxy.h:81
char search[64]
Definition: media_proxy.h:82