(p_rsp->param.event_id[xx] == AVRC_EVT_APP_SETTING_CHANGE) ||
(p_rsp->param.event_id[xx] == AVRC_EVT_NOW_PLAYING_CHANGE) ||
(p_rsp->param.event_id[xx] == AVRC_EVT_ADDR_PLAYER_CHANGE) ||
- (p_rsp->param.event_id[xx] == AVRC_EVT_UIDS_CHANGE)) {
+ (p_rsp->param.event_id[xx] == AVRC_EVT_UIDS_CHANGE) ||
+ (p_rsp->param.event_id[xx] == AVRC_EVT_AVAL_PLAYERS_CHANGE)) {
p_event = (btif_rc_supported_event_t*)osi_malloc(
sizeof(btif_rc_supported_event_t));
p_event->event_id = p_rsp->param.event_id[xx];
break;
case AVRC_EVT_AVAL_PLAYERS_CHANGE:
+ BTIF_TRACE_DEBUG("%s: AVRC_EVT_AVAL_PLAYERS_CHANGE", __func__);
+ do_in_jni_thread(
+ FROM_HERE,
+ base::Bind(bt_rc_ctrl_callbacks->available_player_changed_cb,
+ p_dev->rc_addr));
break;
case AVRC_EVT_ADDR_PLAYER_CHANGE:
const RawAddress& bd_addr, uint16_t id);
typedef void (*btrc_ctrl_now_playing_contents_changed_callback)(
const RawAddress& bd_addr);
+typedef void (*btrc_ctrl_available_player_changed_callback)(
+ const RawAddress& bd_addr);
/** BT-RC Controller callback structure. */
typedef struct {
btrc_ctrl_addressed_player_changed_callback addressed_player_changed_cb;
btrc_ctrl_now_playing_contents_changed_callback
now_playing_contents_changed_cb;
+ btrc_ctrl_available_player_changed_callback available_player_changed_cb;
} btrc_ctrl_callbacks_t;
/** Represents the standard BT-RC AVRCP Controller interface. */