Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e9391b5 authored by Zach Johnson's avatar Zach Johnson
Browse files

good riddance AV stream state machine

Bug: 159815595
Tag: #refactor
Test: compile & verify basic functions working
Change-Id: Ia756d0fa09529918b2f9a7638613831989a5d986
parent 96dcbc70
Loading
Loading
Loading
Loading
+1 −58
Original line number Diff line number Diff line
@@ -77,8 +77,6 @@

static void bta_av_offload_codec_builder(tBTA_AV_SCB* p_scb,
                                         tBT_A2DP_OFFLOAD* p_a2dp_offload);
static void bta_av_st_rc_timer(tBTA_AV_SCB* p_scb,
                               UNUSED_ATTR tBTA_AV_DATA* p_data);

/* state machine states */
enum {
@@ -104,60 +102,6 @@ const tBTA_AV_CO_FUNCTS bta_av_a2dp_cos = {bta_av_co_audio_init,
                                           bta_av_co_audio_update_mtu,
                                           bta_av_co_content_protect_is_active};

/* ssm action functions for audio stream */
const tBTA_AV_SACT bta_av_a2dp_action[] = {
    bta_av_do_disc_a2dp,    /* BTA_AV_DO_DISC  */
    bta_av_cleanup,         /* BTA_AV_CLEANUP */
    bta_av_free_sdb,        /* BTA_AV_FREE_SDB */
    bta_av_config_ind,      /* BTA_AV_CONFIG_IND */
    bta_av_disconnect_req,  /* BTA_AV_DISCONNECT_REQ */
    bta_av_security_req,    /* BTA_AV_SECURITY_REQ */
    bta_av_security_rsp,    /* BTA_AV_SECURITY_RSP */
    bta_av_setconfig_rsp,   /* BTA_AV_SETCONFIG_RSP */
    bta_av_st_rc_timer,     /* BTA_AV_ST_RC_TIMER */
    bta_av_str_opened,      /* BTA_AV_STR_OPENED */
    bta_av_security_ind,    /* BTA_AV_SECURITY_IND */
    bta_av_security_cfm,    /* BTA_AV_SECURITY_CFM */
    bta_av_do_close,        /* BTA_AV_DO_CLOSE */
    bta_av_connect_req,     /* BTA_AV_CONNECT_REQ */
    bta_av_sdp_failed,      /* BTA_AV_SDP_FAILED */
    bta_av_disc_results,    /* BTA_AV_DISC_RESULTS */
    bta_av_disc_res_as_acp, /* BTA_AV_DISC_RES_AS_ACP */
    bta_av_open_failed,     /* BTA_AV_OPEN_FAILED */
    bta_av_getcap_results,  /* BTA_AV_GETCAP_RESULTS */
    bta_av_setconfig_rej,   /* BTA_AV_SETCONFIG_REJ */
    bta_av_discover_req,    /* BTA_AV_DISCOVER_REQ */
    bta_av_conn_failed,     /* BTA_AV_CONN_FAILED */
    bta_av_do_start,        /* BTA_AV_DO_START */
    bta_av_str_stopped,     /* BTA_AV_STR_STOPPED */
    bta_av_reconfig,        /* BTA_AV_RECONFIG */
    bta_av_data_path,       /* BTA_AV_DATA_PATH */
    bta_av_start_ok,        /* BTA_AV_START_OK */
    bta_av_start_failed,    /* BTA_AV_START_FAILED */
    bta_av_str_closed,      /* BTA_AV_STR_CLOSED */
    bta_av_clr_cong,        /* BTA_AV_CLR_CONG */
    bta_av_suspend_cfm,     /* BTA_AV_SUSPEND_CFM */
    bta_av_rcfg_str_ok,     /* BTA_AV_RCFG_STR_OK */
    bta_av_rcfg_failed,     /* BTA_AV_RCFG_FAILED */
    bta_av_rcfg_connect,    /* BTA_AV_RCFG_CONNECT */
    bta_av_rcfg_discntd,    /* BTA_AV_RCFG_DISCNTD */
    bta_av_suspend_cont,    /* BTA_AV_SUSPEND_CONT */
    bta_av_rcfg_cfm,        /* BTA_AV_RCFG_CFM */
    bta_av_rcfg_open,       /* BTA_AV_RCFG_OPEN */
    bta_av_security_rej,    /* BTA_AV_SECURITY_REJ */
    bta_av_open_rc,         /* BTA_AV_OPEN_RC */
    bta_av_chk_2nd_start,   /* BTA_AV_CHK_2ND_START */
    bta_av_save_caps,       /* BTA_AV_SAVE_CAPS */
    bta_av_set_use_rc,      /* BTA_AV_SET_USE_RC */
    bta_av_cco_close,       /* BTA_AV_CCO_CLOSE */
    bta_av_switch_role,     /* BTA_AV_SWITCH_ROLE */
    bta_av_role_res,        /* BTA_AV_ROLE_RES */
    bta_av_delay_co,        /* BTA_AV_DELAY_CO */
    bta_av_open_at_inc,     /* BTA_AV_OPEN_AT_INC */
    bta_av_offload_req,     /* BTA_AV_OFFLOAD_REQ */
    bta_av_offload_rsp,     /* BTA_AV_OFFLOAD_RSP */
    NULL};

/* these tables translate AVDT events to SSM events */
static const uint16_t bta_av_stream_evt_ok[] = {
    BTA_AV_STR_DISC_OK_EVT,      /* AVDT_DISCOVER_CFM_EVT */
@@ -314,8 +258,7 @@ static void notify_start_failed(tBTA_AV_SCB* p_scb) {
 * Returns          void
 *
 ******************************************************************************/
static void bta_av_st_rc_timer(tBTA_AV_SCB* p_scb,
                               UNUSED_ATTR tBTA_AV_DATA* p_data) {
void bta_av_st_rc_timer(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
  APPL_TRACE_DEBUG("%s: rc_handle:%d, use_rc: %d", __func__, p_scb->rc_handle,
                   p_scb->use_rc);
  /* for outgoing RC connection as INT/CT */
+0 −3
Original line number Diff line number Diff line
@@ -150,7 +150,6 @@ const tBTA_AV_CFG bta_av_cfg = {
                                 for company id */
    bta_av_meta_caps_evt_ids, /* the the metadata Get Capabilities
                                 response for event id */
    NULL,                     /* the action function table for audio stream */
    BTA_AV_RC_CT_NAME,        /* Default AVRCP controller name */
    BTA_AV_RC_TG_NAME         /* Default AVRCP target name */
};
@@ -176,7 +175,6 @@ const tBTA_AV_CFG bta_avk_cfg = {
                                  for company id */
    bta_avk_meta_caps_evt_ids, /* the the metadata Get Capabilities
                                  response for event id */
    NULL,                      /* the action function table for audio stream */
    {0},                       /* Default AVRCP controller name */
    {0},                       /* Default AVRCP target name */
};
@@ -202,7 +200,6 @@ const tBTA_AV_CFG bta_av_cfg_compatibility = {
    bta_av_meta_caps_evt_ids_avrcp13, /* the the metadata Get Capabilities
                                         response for event id, compatible
                                         with AVRCP1.3 */
    NULL,              /* the action function table for audio stream */
    BTA_AV_RC_CT_NAME, /* Default AVRCP controller name */
    BTA_AV_RC_TG_NAME  /* Default AVRCP target name */
};
+1 −2
Original line number Diff line number Diff line
@@ -456,7 +456,6 @@ typedef union {
// TODO: This should be renamed and changed to a proper class
struct tBTA_AV_SCB final {
 public:
  const tBTA_AV_ACT* p_act_tbl; /* the action table for stream state machine */
  const tBTA_AV_CO_FUNCTS* p_cos; /* the associated callout functions */
  bool sdp_discovery_started; /* variable to determine whether SDP is started */
  tBTA_AV_SEP seps[BTAV_A2DP_CODEC_INDEX_MAX];
@@ -657,7 +656,6 @@ extern const tBTA_AV_CFG bta_av_cfg_compatibility;
extern uint16_t* p_bta_av_rc_id;
extern uint16_t* p_bta_av_rc_id_ac;

extern const tBTA_AV_SACT bta_av_a2dp_action[];
extern const tBTA_AV_CO_FUNCTS bta_av_a2dp_cos;
extern void bta_av_sink_data_cback(uint8_t handle, BT_HDR* p_pkt,
                                   uint32_t time_stamp, uint8_t m_pt);
@@ -781,5 +779,6 @@ extern void bta_av_open_at_inc(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data);
extern void bta_av_offload_req(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data);
extern void bta_av_offload_rsp(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data);
extern void bta_av_vendor_offload_stop(void);
extern void bta_av_st_rc_timer(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data);

#endif /* BTA_AV_INT_H */
+0 −1
Original line number Diff line number Diff line
@@ -528,7 +528,6 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
    avdtp_stream_config.p_avdt_ctrl_cback = &bta_av_proc_stream_evt;

    /* set up the audio stream control block */
    p_scb->p_act_tbl = (const tBTA_AV_ACT*)bta_av_a2dp_action;
    p_scb->p_cos = &bta_av_a2dp_cos;
    p_scb->media_type = AVDT_MEDIA_TYPE_AUDIO;
    avdtp_stream_config.cfg.psc_mask = AVDT_PSC_TRANS;
+373 −461

File changed.

Preview size limit exceeded, changes collapsed.

Loading