diff options
Diffstat (limited to 'stack/avdt/avdt_scb.c')
-rw-r--r-- | stack/avdt/avdt_scb.c | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/stack/avdt/avdt_scb.c b/stack/avdt/avdt_scb.c index 8eb5cc211..f5f5b5a79 100644 --- a/stack/avdt/avdt_scb.c +++ b/stack/avdt/avdt_scb.c @@ -24,7 +24,7 @@ ******************************************************************************/ #include <string.h> -#include "data_types.h" +#include "bt_types.h" #include "bt_target.h" #include "bt_utils.h" #include "avdt_api.h" @@ -531,8 +531,6 @@ void avdt_scb_event(tAVDT_SCB *p_scb, UINT8 event, tAVDT_SCB_EVT *p_data) #if AVDT_DEBUG == TRUE AVDT_TRACE_EVENT("SCB hdl=%d event=%d/%s state=%s", avdt_scb_to_hdl(p_scb), event, avdt_scb_evt_str[event], avdt_scb_st_str[p_scb->state]); #endif - BTTRC_AVDT_SCB_EVENT(event, p_scb->state); - /* set current event */ p_scb->curr_evt = event; @@ -541,7 +539,6 @@ void avdt_scb_event(tAVDT_SCB *p_scb, UINT8 event, tAVDT_SCB_EVT *p_data) /* set next state */ if (p_scb->state != state_table[event][AVDT_SCB_NEXT_STATE]) { - BTTRC_AVDT_SCB_STATE(state_table[event][AVDT_SCB_NEXT_STATE]); p_scb->state = state_table[event][AVDT_SCB_NEXT_STATE]; } @@ -550,7 +547,6 @@ void avdt_scb_event(tAVDT_SCB *p_scb, UINT8 event, tAVDT_SCB_EVT *p_data) { if ((action = state_table[event][i]) != AVDT_SCB_IGNORE) { - BTTRC_AVDT_SCB_ACTION(action); (*avdt_cb.p_scb_act[action])(p_scb, p_data); } else @@ -734,41 +730,36 @@ UINT8 avdt_scb_verify(tAVDT_CCB *p_ccb, UINT8 state, UINT8 *p_seid, UINT16 num_s int i; tAVDT_SCB *p_scb; UINT8 nsc_mask; - UINT8 chk_state; UINT8 ret = 0; AVDT_TRACE_DEBUG("avdt_scb_verify state %d", state); /* set nonsupported command mask */ /* translate public state into private state */ nsc_mask = 0; - chk_state = AVDT_SCB_STREAM_ST; - switch(state) - { - case AVDT_VERIFY_SUSPEND: - nsc_mask = AVDT_NSC_SUSPEND; - break; - case AVDT_VERIFY_OPEN: - case AVDT_VERIFY_START: - chk_state = AVDT_SCB_OPEN_ST; - break; - } + if (state == AVDT_VERIFY_SUSPEND) + nsc_mask = AVDT_NSC_SUSPEND; /* verify every scb */ - for (i = 0; i < num_seid; i++) + for (i = 0, *p_err_code = 0; i < num_seid && *p_err_code == 0; i++) { if ((p_scb = avdt_scb_by_hdl(p_seid[i])) == NULL) - { *p_err_code = AVDT_ERR_BAD_STATE; - break; - } - else if ((p_scb->state != chk_state) || (p_scb->p_ccb != p_ccb)) - { + else if (p_scb->p_ccb != p_ccb) *p_err_code = AVDT_ERR_BAD_STATE; - break; - } else if (p_scb->cs.nsc_mask & nsc_mask) - { *p_err_code = AVDT_ERR_NSC; + + switch (state) { + case AVDT_VERIFY_OPEN: + case AVDT_VERIFY_START: + if (p_scb->state != AVDT_SCB_OPEN_ST && p_scb->state != AVDT_SCB_STREAM_ST) + *p_err_code = AVDT_ERR_BAD_STATE; + break; + + case AVDT_VERIFY_SUSPEND: + case AVDT_VERIFY_STREAMING: + if (p_scb->state != AVDT_SCB_STREAM_ST) + *p_err_code = AVDT_ERR_BAD_STATE; break; } } @@ -777,8 +768,7 @@ UINT8 avdt_scb_verify(tAVDT_CCB *p_ccb, UINT8 state, UINT8 *p_seid, UINT16 num_s { ret = p_seid[i]; } - AVDT_TRACE_DEBUG("avdt_scb_verify state %d, nsc_mask0x%x, ret: %d", - chk_state, nsc_mask, ret); + return ret; } |