7#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
8#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MEDIA_PROXY_H_
85#define MEDIA_PROXY_PLAYBACK_SPEED_MIN -128
86#define MEDIA_PROXY_PLAYBACK_SPEED_QUARTER -128
87#define MEDIA_PROXY_PLAYBACK_SPEED_HALF -64
88#define MEDIA_PROXY_PLAYBACK_SPEED_UNITY 0
89#define MEDIA_PROXY_PLAYBACK_SPEED_DOUBLE 64
90#define MEDIA_PROXY_PLAYBACK_SPEED_MAX 127
99#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MAX 64
100#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_MIN 4
101#define MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO 0
106#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_ONCE 0x01
107#define MEDIA_PROXY_PLAYING_ORDER_SINGLE_REPEAT 0x02
108#define MEDIA_PROXY_PLAYING_ORDER_INORDER_ONCE 0x03
109#define MEDIA_PROXY_PLAYING_ORDER_INORDER_REPEAT 0x04
110#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_ONCE 0x05
111#define MEDIA_PROXY_PLAYING_ORDER_OLDEST_REPEAT 0x06
112#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_ONCE 0x07
113#define MEDIA_PROXY_PLAYING_ORDER_NEWEST_REPEAT 0x08
114#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_ONCE 0x09
115#define MEDIA_PROXY_PLAYING_ORDER_SHUFFLE_REPEAT 0x0a
123#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_ONCE BIT(0)
124#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SINGLE_REPEAT BIT(1)
125#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_ONCE BIT(2)
126#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_INORDER_REPEAT BIT(3)
127#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_ONCE BIT(4)
128#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_OLDEST_REPEAT BIT(5)
129#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_ONCE BIT(6)
130#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_NEWEST_REPEAT BIT(7)
131#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_ONCE BIT(8)
132#define MEDIA_PROXY_PLAYING_ORDERS_SUPPORTED_SHUFFLE_REPEAT BIT(9)
137#define MEDIA_PROXY_STATE_INACTIVE 0x00
138#define MEDIA_PROXY_STATE_PLAYING 0x01
139#define MEDIA_PROXY_STATE_PAUSED 0x02
140#define MEDIA_PROXY_STATE_SEEKING 0x03
141#define MEDIA_PROXY_STATE_LAST 0x04
146#define MEDIA_PROXY_OP_PLAY 0x01
147#define MEDIA_PROXY_OP_PAUSE 0x02
148#define MEDIA_PROXY_OP_FAST_REWIND 0x03
149#define MEDIA_PROXY_OP_FAST_FORWARD 0x04
150#define MEDIA_PROXY_OP_STOP 0x05
152#define MEDIA_PROXY_OP_MOVE_RELATIVE 0x10
154#define MEDIA_PROXY_OP_PREV_SEGMENT 0x20
155#define MEDIA_PROXY_OP_NEXT_SEGMENT 0x21
156#define MEDIA_PROXY_OP_FIRST_SEGMENT 0x22
157#define MEDIA_PROXY_OP_LAST_SEGMENT 0x23
158#define MEDIA_PROXY_OP_GOTO_SEGMENT 0x24
160#define MEDIA_PROXY_OP_PREV_TRACK 0x30
161#define MEDIA_PROXY_OP_NEXT_TRACK 0x31
162#define MEDIA_PROXY_OP_FIRST_TRACK 0x32
163#define MEDIA_PROXY_OP_LAST_TRACK 0x33
164#define MEDIA_PROXY_OP_GOTO_TRACK 0x34
166#define MEDIA_PROXY_OP_PREV_GROUP 0x40
167#define MEDIA_PROXY_OP_NEXT_GROUP 0x41
168#define MEDIA_PROXY_OP_FIRST_GROUP 0x42
169#define MEDIA_PROXY_OP_LAST_GROUP 0x43
170#define MEDIA_PROXY_OP_GOTO_GROUP 0x44
175#define MEDIA_PROXY_OPCODES_SUPPORTED_LEN 4
180#define MEDIA_PROXY_OP_SUP_PLAY BIT(0)
181#define MEDIA_PROXY_OP_SUP_PAUSE BIT(1)
182#define MEDIA_PROXY_OP_SUP_FAST_REWIND BIT(2)
183#define MEDIA_PROXY_OP_SUP_FAST_FORWARD BIT(3)
184#define MEDIA_PROXY_OP_SUP_STOP BIT(4)
186#define MEDIA_PROXY_OP_SUP_MOVE_RELATIVE BIT(5)
188#define MEDIA_PROXY_OP_SUP_PREV_SEGMENT BIT(6)
189#define MEDIA_PROXY_OP_SUP_NEXT_SEGMENT BIT(7)
190#define MEDIA_PROXY_OP_SUP_FIRST_SEGMENT BIT(8)
191#define MEDIA_PROXY_OP_SUP_LAST_SEGMENT BIT(9)
192#define MEDIA_PROXY_OP_SUP_GOTO_SEGMENT BIT(10)
194#define MEDIA_PROXY_OP_SUP_PREV_TRACK BIT(11)
195#define MEDIA_PROXY_OP_SUP_NEXT_TRACK BIT(12)
196#define MEDIA_PROXY_OP_SUP_FIRST_TRACK BIT(13)
197#define MEDIA_PROXY_OP_SUP_LAST_TRACK BIT(14)
198#define MEDIA_PROXY_OP_SUP_GOTO_TRACK BIT(15)
200#define MEDIA_PROXY_OP_SUP_PREV_GROUP BIT(16)
201#define MEDIA_PROXY_OP_SUP_NEXT_GROUP BIT(17)
202#define MEDIA_PROXY_OP_SUP_FIRST_GROUP BIT(18)
203#define MEDIA_PROXY_OP_SUP_LAST_GROUP BIT(19)
204#define MEDIA_PROXY_OP_SUP_GOTO_GROUP BIT(20)
209#define MEDIA_PROXY_CMD_SUCCESS 0x01
210#define MEDIA_PROXY_CMD_NOT_SUPPORTED 0x02
211#define MEDIA_PROXY_CMD_PLAYER_INACTIVE 0x03
212#define MEDIA_PROXY_CMD_CANNOT_BE_COMPLETED 0x04
217#define MEDIA_PROXY_SEARCH_TYPE_TRACK_NAME 0x01
218#define MEDIA_PROXY_SEARCH_TYPE_ARTIST_NAME 0x02
219#define MEDIA_PROXY_SEARCH_TYPE_ALBUM_NAME 0x03
220#define MEDIA_PROXY_SEARCH_TYPE_GROUP_NAME 0x04
221#define MEDIA_PROXY_SEARCH_TYPE_EARLIEST_YEAR 0x05
222#define MEDIA_PROXY_SEARCH_TYPE_LATEST_YEAR 0x06
223#define MEDIA_PROXY_SEARCH_TYPE_GENRE 0x07
224#define MEDIA_PROXY_SEARCH_TYPE_ONLY_TRACKS 0x08
225#define MEDIA_PROXY_SEARCH_TYPE_ONLY_GROUPS 0x09
230#define MEDIA_PROXY_SEARCH_SUCCESS 0x01
231#define MEDIA_PROXY_SEARCH_FAILURE 0x02
310 void (*
icon_url_recv)(
struct media_player *player,
int err,
const char *url);
1111 const char *(*get_player_name)(void);
1133 const char *(*get_icon_url)(void);
1140 const char *(*get_track_title)(void);
Bluetooth subsystem core APIs.
#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:30
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__INT32_TYPE__ int32_t
Definition: stdint.h:44
__UINT64_TYPE__ uint64_t
Definition: stdint.h:61
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
__INT8_TYPE__ int8_t
Definition: stdint.h:42
Media command notification.
Definition: media_proxy.h:58
uint8_t result_code
Definition: media_proxy.h:60
uint8_t requested_opcode
Definition: media_proxy.h:59
Media proxy module.
Definition: media_proxy.h:49
uint8_t opcode
Definition: media_proxy.h:50
bool use_param
Definition: media_proxy.h:51
int32_t param
Definition: media_proxy.h:52
Search control item.
Definition: media_proxy.h:66
uint8_t type
Definition: media_proxy.h:68
uint8_t len
Definition: media_proxy.h:67
char param[62]
Definition: media_proxy.h:69
Search.
Definition: media_proxy.h:75
uint8_t len
Definition: media_proxy.h:76
char search[64]
Definition: media_proxy.h:77