21#ifndef ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MCC_
22#define ZEPHYR_INCLUDE_BLUETOOTH_AUDIO_MCC_
57#ifdef CONFIG_BT_OTS_CLIENT
67typedef void (*bt_mcc_read_icon_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
172#ifdef CONFIG_BT_OTS_CLIENT
182typedef void (*bt_mcc_read_segments_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
193typedef void (*bt_mcc_read_current_track_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
204typedef void (*bt_mcc_set_current_track_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
215typedef void (*bt_mcc_read_next_track_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
226typedef void (*bt_mcc_set_next_track_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
237typedef void (*bt_mcc_read_parent_group_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
248typedef void (*bt_mcc_read_current_group_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t id);
259typedef void (*bt_mcc_set_current_group_obj_id_cb)(
struct bt_conn *conn,
int err,
uint64_t obj_id);
346#ifdef CONFIG_BT_OTS_CLIENT
356typedef void (*bt_mcc_send_search_cb)(
struct bt_conn *conn,
int err,
372typedef void (*bt_mcc_search_ntf_cb)(
struct bt_conn *conn,
int err,
388typedef void (*bt_mcc_read_search_results_obj_id_cb)(
struct bt_conn *conn,
403#ifdef CONFIG_BT_OTS_CLIENT
414typedef void (*bt_mcc_otc_obj_selected_cb)(
struct bt_conn *conn,
int err);
424typedef void (*bt_mcc_otc_obj_metadata_cb)(
struct bt_conn *conn,
int err);
437typedef void (*bt_mcc_otc_read_icon_object_cb)(
struct bt_conn *conn,
int err,
451typedef void (*bt_mcc_otc_read_track_segments_object_cb)(
struct bt_conn *conn,
int err,
465typedef void (*bt_mcc_otc_read_current_track_object_cb)(
struct bt_conn *conn,
int err,
479typedef void (*bt_mcc_otc_read_next_track_object_cb)(
struct bt_conn *conn,
int err,
493typedef void (*bt_mcc_otc_read_parent_group_object_cb)(
struct bt_conn *conn,
int err,
507typedef void (*bt_mcc_otc_read_current_group_object_cb)(
struct bt_conn *conn,
int err,
519#ifdef CONFIG_BT_OTS_CLIENT
520 bt_mcc_read_icon_obj_id_cb read_icon_obj_id;
531#ifdef CONFIG_BT_OTS_CLIENT
532 bt_mcc_read_segments_obj_id_cb read_segments_obj_id;
533 bt_mcc_read_current_track_obj_id_cb read_current_track_obj_id;
534 bt_mcc_set_current_track_obj_id_cb set_current_track_obj_id;
535 bt_mcc_read_next_track_obj_id_cb read_next_track_obj_id;
536 bt_mcc_set_next_track_obj_id_cb set_next_track_obj_id;
537 bt_mcc_read_current_group_obj_id_cb read_current_group_obj_id;
538 bt_mcc_set_current_group_obj_id_cb set_current_group_obj_id;
539 bt_mcc_read_parent_group_obj_id_cb read_parent_group_obj_id;
548#ifdef CONFIG_BT_OTS_CLIENT
549 bt_mcc_send_search_cb send_search;
550 bt_mcc_search_ntf_cb search_ntf;
551 bt_mcc_read_search_results_obj_id_cb read_search_results_obj_id;
554#ifdef CONFIG_BT_OTS_CLIENT
555 bt_mcc_otc_obj_selected_cb otc_obj_selected;
556 bt_mcc_otc_obj_metadata_cb otc_obj_metadata;
557 bt_mcc_otc_read_icon_object_cb otc_icon_object;
558 bt_mcc_otc_read_track_segments_object_cb otc_track_segments_object;
559 bt_mcc_otc_read_current_track_object_cb otc_current_track_object;
560 bt_mcc_otc_read_next_track_object_cb otc_next_track_object;
561 bt_mcc_otc_read_current_group_object_cb otc_current_group_object;
562 bt_mcc_otc_read_parent_group_object_cb otc_parent_group_object;
603#ifdef CONFIG_BT_OTS_CLIENT
611int bt_mcc_read_icon_obj_id(
struct bt_conn *conn);
688#ifdef CONFIG_BT_OTS_CLIENT
696int bt_mcc_read_segments_obj_id(
struct bt_conn *conn);
705int bt_mcc_read_current_track_obj_id(
struct bt_conn *conn);
717int bt_mcc_set_current_track_obj_id(
struct bt_conn *conn,
uint64_t id);
727int bt_mcc_read_next_track_obj_id(
struct bt_conn *conn);
739int bt_mcc_set_next_track_obj_id(
struct bt_conn *conn,
uint64_t id);
748int bt_mcc_read_current_group_obj_id(
struct bt_conn *conn);
760int bt_mcc_set_current_group_obj_id(
struct bt_conn *conn,
uint64_t id);
769int bt_mcc_read_parent_group_obj_id(
struct bt_conn *conn);
830#ifdef CONFIG_BT_OTS_CLIENT
841int bt_mcc_send_search(
struct bt_conn *conn,
const struct mpl_search *search);
850int bt_mcc_read_search_results_obj_id(
struct bt_conn *conn);
862#ifdef CONFIG_BT_OTS_CLIENT
870int bt_mcc_otc_read_object_metadata(
struct bt_conn *conn);
879int bt_mcc_otc_read_icon_object(
struct bt_conn *conn);
888int bt_mcc_otc_read_track_segments_object(
struct bt_conn *conn);
897int bt_mcc_otc_read_current_track_object(
struct bt_conn *conn);
906int bt_mcc_otc_read_next_track_object(
struct bt_conn *conn);
915int bt_mcc_otc_read_current_group_object(
struct bt_conn *conn);
924int bt_mcc_otc_read_parent_group_object(
struct bt_conn *conn);
926#if defined(CONFIG_BT_MCC_SHELL)
Bluetooth connection handling.
int bt_mcc_set_playing_order(struct bt_conn *conn, uint8_t order)
Set Playing Order.
int bt_mcc_read_playing_order(struct bt_conn *conn)
Read Playing Order.
void(* bt_mcc_set_track_position_cb)(struct bt_conn *conn, int err, int32_t pos)
Callback function for bt_mcc_set_track_position()
Definition: mcc.h:137
void(* bt_mcc_read_track_position_cb)(struct bt_conn *conn, int err, int32_t pos)
Callback function for bt_mcc_read_track_position()
Definition: mcc.h:126
void(* bt_mcc_set_playback_speed_cb)(struct bt_conn *conn, int err, int8_t speed)
Callback function for bt_mcc_set_playback_speed()
Definition: mcc.h:159
int bt_mcc_set_playback_speed(struct bt_conn *conn, int8_t speed)
Set Playback Speed.
void(* bt_mcc_set_playing_order_cb)(struct bt_conn *conn, int err, uint8_t order)
Callback function for bt_mcc_set_playing_order()
Definition: mcc.h:283
void(* bt_mcc_read_media_state_cb)(struct bt_conn *conn, int err, uint8_t state)
Callback function for bt_mcc_read_media_state()
Definition: mcc.h:306
void(* bt_mcc_read_seeking_speed_cb)(struct bt_conn *conn, int err, int8_t speed)
Callback function for bt_mcc_read_seeking_speed()
Definition: mcc.h:170
int bt_mcc_read_seeking_speed(struct bt_conn *conn)
Read Seeking speed.
int bt_mcc_read_icon_url(struct bt_conn *conn)
Read Icon Object URL.
int bt_mcc_send_cmd(struct bt_conn *conn, const struct mpl_cmd *cmd)
Send a command.
int bt_mcc_read_track_duration(struct bt_conn *conn)
Read Track Duration.
void(* bt_mcc_cmd_ntf_cb)(struct bt_conn *conn, int err, const struct mpl_cmd_ntf *ntf)
Callback function for command notifications.
Definition: mcc.h:332
void(* bt_mcc_track_changed_ntf_cb)(struct bt_conn *conn, int err)
Callback function for track changed notifications.
Definition: mcc.h:92
int bt_mcc_read_opcodes_supported(struct bt_conn *conn)
Read Opcodes Supported.
void(* bt_mcc_read_track_title_cb)(struct bt_conn *conn, int err, const char *title)
Callback function for bt_mcc_read_track_title()
Definition: mcc.h:104
void(* bt_mcc_read_playback_speed_cb)(struct bt_conn *conn, int err, int8_t speed)
Callback function for bt_mcc_read_playback_speed()
Definition: mcc.h:148
int bt_mcc_read_player_name(struct bt_conn *conn)
Read Media Player Name.
int bt_mcc_read_content_control_id(struct bt_conn *conn)
Read Content Control ID.
void(* bt_mcc_read_track_duration_cb)(struct bt_conn *conn, int err, int32_t dur)
Callback function for bt_mcc_read_track_duration()
Definition: mcc.h:115
int bt_mcc_read_track_title(struct bt_conn *conn)
Read Track Title.
int bt_mcc_init(struct bt_mcc_cb *cb)
Initialize Media Control Client.
int bt_mcc_discover_mcs(struct bt_conn *conn, bool subscribe)
Discover Media Control Service.
int bt_mcc_read_playback_speed(struct bt_conn *conn)
Read Playback speed.
void(* bt_mcc_read_player_name_cb)(struct bt_conn *conn, int err, const char *name)
Callback function for bt_mcc_read_player_name()
Definition: mcc.h:55
void(* bt_mcc_read_icon_url_cb)(struct bt_conn *conn, int err, const char *icon_url)
Callback function for bt_mcc_read_icon_url()
Definition: mcc.h:79
void(* bt_mcc_discover_mcs_cb)(struct bt_conn *conn, int err)
Callback function for bt_mcc_discover_mcs()
Definition: mcc.h:44
void(* bt_mcc_read_opcodes_supported_cb)(struct bt_conn *conn, int err, uint32_t opcodes)
Callback function for bt_mcc_read_opcodes_supported()
Definition: mcc.h:343
int bt_mcc_read_media_state(struct bt_conn *conn)
Read Media State.
void(* bt_mcc_read_playing_orders_supported_cb)(struct bt_conn *conn, int err, uint16_t orders)
Callback function for bt_mcc_read_playing_orders_supported()
Definition: mcc.h:294
int bt_mcc_set_track_position(struct bt_conn *conn, int32_t pos)
Set Track position.
void(* bt_mcc_read_content_control_id_cb)(struct bt_conn *conn, int err, uint8_t ccid)
Callback function for bt_mcc_read_content_control_id()
Definition: mcc.h:401
void(* bt_mcc_send_cmd_cb)(struct bt_conn *conn, int err, const struct mpl_cmd *cmd)
Callback function for bt_mcc_send_cmd()
Definition: mcc.h:317
int bt_mcc_read_track_position(struct bt_conn *conn)
Read Track Position.
int bt_mcc_read_playing_orders_supported(struct bt_conn *conn)
Read Playing Orders Supported.
void(* bt_mcc_read_playing_order_cb)(struct bt_conn *conn, int err, uint8_t order)
Callback function for bt_mcc_read_playing_order()
Definition: mcc.h:272
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 control client callbacks.
Definition: mcc.h:516
bt_mcc_set_playing_order_cb set_playing_order
Definition: mcc.h:542
bt_mcc_discover_mcs_cb discover_mcs
Definition: mcc.h:517
bt_mcc_read_playing_order_cb read_playing_order
Definition: mcc.h:541
bt_mcc_read_media_state_cb read_media_state
Definition: mcc.h:544
bt_mcc_read_track_title_cb read_track_title
Definition: mcc.h:524
bt_mcc_read_playback_speed_cb read_playback_speed
Definition: mcc.h:528
bt_mcc_set_playback_speed_cb set_playback_speed
Definition: mcc.h:529
bt_mcc_read_seeking_speed_cb read_seeking_speed
Definition: mcc.h:530
bt_mcc_cmd_ntf_cb cmd_ntf
Definition: mcc.h:546
bt_mcc_read_track_duration_cb read_track_duration
Definition: mcc.h:525
bt_mcc_read_icon_url_cb read_icon_url
Definition: mcc.h:522
bt_mcc_send_cmd_cb send_cmd
Definition: mcc.h:545
bt_mcc_read_playing_orders_supported_cb read_playing_orders_supported
Definition: mcc.h:543
bt_mcc_track_changed_ntf_cb track_changed_ntf
Definition: mcc.h:523
bt_mcc_read_track_position_cb read_track_position
Definition: mcc.h:526
bt_mcc_read_opcodes_supported_cb read_opcodes_supported
Definition: mcc.h:547
bt_mcc_read_content_control_id_cb read_content_control_id
Definition: mcc.h:553
bt_mcc_read_player_name_cb read_player_name
Definition: mcc.h:518
bt_mcc_set_track_position_cb set_track_position
Definition: mcc.h:527
OTS client instance.
Definition: ots.h:819
Media command notification.
Definition: media_proxy.h:64
Media player command.
Definition: media_proxy.h:55
Search.
Definition: media_proxy.h:81
char search[64]
Definition: media_proxy.h:83
Simple network buffer representation.
Definition: buf.h:83