From: baohongde Date: Tue, 6 Mar 2018 06:11:28 +0000 (+0800) Subject: component/bt: Fix bug: a2dp disc_rsn error when as master X-Git-Tag: v3.1-beta1~353^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f1d3f689e88e17ea1412c09d55cc5c54032cd951;p=esp-idf component/bt: Fix bug: a2dp disc_rsn error when as master --- diff --git a/components/bt/bluedroid/bta/av/bta_av_aact.c b/components/bt/bluedroid/bta/av/bta_av_aact.c index c0f0b3398d..6498acd972 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 f44186c6d6..be141b6e4b 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; }