diff --git a/components/bt/bluedroid/bta/av/bta_av_aact.c b/components/bt/bluedroid/bta/av/bta_av_aact.c index c0f0b3398..6498acd97 100644 --- a/components/bt/bluedroid/bta/av/bta_av_aact.c +++ b/components/bt/bluedroid/bta/av/bta_av_aact.c @@ -514,6 +514,9 @@ static void bta_av_proc_stream_evt(UINT8 handle, BD_ADDR bd_addr, UINT8 event, t p_msg->disc_rsn = p_data->hdr.err_param; break; */ + case AVDT_DISCONNECT_IND_EVT: + p_msg->hdr.offset = p_data->hdr.err_param; + break; default: break; } diff --git a/components/bt/bluedroid/bta/av/bta_av_main.c b/components/bt/bluedroid/bta/av/bta_av_main.c index f44186c6d..be141b6e4 100644 --- a/components/bt/bluedroid/bta/av/bta_av_main.c +++ b/components/bt/bluedroid/bta/av/bta_av_main.c @@ -1239,9 +1239,10 @@ BOOLEAN bta_av_hdl_event(BT_HDR *p_msg) bta_av_sm_execute(&bta_av_cb, p_msg->event, (tBTA_AV_DATA *) p_msg); } else { APPL_TRACE_VERBOSE("handle=0x%x\n", p_msg->layer_specific); + tBTA_AV_SCB *p_scb = bta_av_hndl_to_scb(p_msg->layer_specific); + p_scb->disc_rsn = p_msg->offset; /* stream state machine events */ - bta_av_ssm_execute( bta_av_hndl_to_scb(p_msg->layer_specific), - p_msg->event, (tBTA_AV_DATA *) p_msg); + bta_av_ssm_execute(p_scb, p_msg->event, (tBTA_AV_DATA *) p_msg); } return TRUE; }