#include "btm_api.h"
#include "device/include/controller.h"
#include "device/include/esco_parameters.h"
+#include "osi/include/log.h"
#include "osi/include/osi.h"
#include "stack/include/btu.h"
#include "utl.h"
/* sco events */
enum {
- BTA_AG_SCO_LISTEN_E, /* listen request */
- BTA_AG_SCO_OPEN_E, /* open request */
- BTA_AG_SCO_XFER_E, /* transfer request */
- BTA_AG_SCO_CN_DONE_E, /* codec negotiation done */
- BTA_AG_SCO_REOPEN_E, /* Retry with other codec when failed */
+ BTA_AG_SCO_LISTEN_E, /* listen request */
+ BTA_AG_SCO_OPEN_E, /* open request */
+ BTA_AG_SCO_XFER_E, /* transfer request */
+ BTA_AG_SCO_CN_DONE_E, /* codec negotiation done */
+ BTA_AG_SCO_REOPEN_E, /* Retry with other codec when failed */
BTA_AG_SCO_CLOSE_E, /* close request */
BTA_AG_SCO_SHUTDOWN_E, /* shutdown request */
BTA_AG_SCO_CONN_OPEN_E, /* sco open */
}
if (handle != 0) {
-
/* Restore settings */
if (bta_ag_cb.sco.p_curr_scb->inuse_codec == BTA_AG_CODEC_MSBC) {
/* Bypass vendor specific and voice settings if enhanced eSCO supported */
*
******************************************************************************/
static void bta_ag_codec_negotiation_timer_cback(void* data) {
- APPL_TRACE_DEBUG("%s", __func__);
+ LOG_WARN("Codec negotiation timeout");
tBTA_AG_SCB* p_scb = (tBTA_AG_SCB*)data;
/* Announce that codec negotiation failed. */
*
******************************************************************************/
void bta_ag_codec_negotiate(tBTA_AG_SCB* p_scb) {
- APPL_TRACE_DEBUG("%s", __func__);
bta_ag_cb.sco.p_curr_scb = p_scb;
uint8_t* p_rem_feat = BTM_ReadRemoteFeatures(p_scb->peer_addr);
bool sdp_wbs_support = p_scb->peer_sdp_features & BTA_AG_FEAT_WBS_SUPPORT;
if (p_rem_feat == nullptr) {
- LOG(WARNING) << __func__
- << ": Fail to read remote feature, skip codec negotiation";
+ LOG_WARN("Skip codec negotiation, failed to read remote features");
bta_ag_sco_codec_nego(p_scb, false);
return;
}
// SCO setup fail by Firmware reject.
if (!HCI_LMP_TRANSPNT_SUPPORTED(p_rem_feat) || !sdp_wbs_support ||
!(p_scb->peer_features & BTA_AG_PEER_FEAT_CODEC)) {
+ LOG_INFO("Assume CVSD by default due to mask mismatch");
p_scb->sco_codec = UUID_CODEC_CVSD;
}
if ((p_scb->codec_updated || p_scb->codec_fallback) &&
(p_scb->peer_features & BTA_AG_PEER_FEAT_CODEC)) {
+ LOG_INFO("Starting codec negotiation");
/* Change the power mode to Active until SCO open is completed. */
bta_sys_busy(BTA_ID_AG, p_scb->app_id, p_scb->peer_addr);
bta_ag_codec_negotiation_timer_cback, p_scb);
} else {
/* use same codec type as previous SCO connection, skip codec negotiation */
- APPL_TRACE_DEBUG(
- "use same codec type as previous SCO connection,skip codec "
- "negotiation");
+ LOG_INFO("Skip codec negotiation, using the same codec");
bta_ag_sco_codec_nego(p_scb, true);
}
}
static void bta_ag_sco_event(tBTA_AG_SCB* p_scb, uint8_t event) {
tBTA_AG_SCO_CB* p_sco = &bta_ag_cb.sco;
uint8_t previous_state = p_sco->state;
- APPL_TRACE_EVENT("%s: index=0x%04x, device=%s, state=%s[%d], event=%s[%d]",
- __func__, p_scb->sco_idx,
- p_scb->peer_addr.ToString().c_str(),
- bta_ag_sco_state_str(p_sco->state), p_sco->state,
- bta_ag_sco_evt_str(event), event);
+ LOG_DEBUG("index=0x%04x, device=%s, state=%s[%d], event=%s[%d]",
+ p_scb->sco_idx, p_scb->peer_addr.ToString().c_str(),
+ bta_ag_sco_state_str(p_sco->state), p_sco->state,
+ bta_ag_sco_evt_str(event), event);
switch (p_sco->state) {
case BTA_AG_SCO_SHUTDOWN_ST:
break;
default:
- APPL_TRACE_WARNING(
- "%s: BTA_AG_SCO_SHUTDOWN_ST: Ignoring event %s[%d]", __func__,
- bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_SHUTDOWN_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
case BTA_AG_SCO_CLOSE_E:
/* remove listening connection */
- /* Ignore the event. Keep listening SCO for the active SLC
- */
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_LISTEN_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ /* Ignore the event. Keep listening SCO for the active SLC */
+ LOG_WARN("BTA_AG_SCO_LISTEN_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
case BTA_AG_SCO_CONN_CLOSE_E:
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_LISTEN_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_LISTEN_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_CODEC_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_CODEC_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_OPENING_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_OPENING_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_OPEN_CL_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_OPEN_CL_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING(
- "%s: BTA_AG_SCO_OPEN_XFER_ST: Ignoring event %s[%d]", __func__,
- bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_OPEN_XFER_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_OPEN_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_OPEN_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING("%s: BTA_AG_SCO_CLOSING_ST: Ignoring event %s[%d]",
- __func__, bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_CLOSING_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING(
- "%s: BTA_AG_SCO_CLOSE_OP_ST: Ignoring event %s[%d]", __func__,
- bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_CLOSE_OP_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
}
default:
- APPL_TRACE_WARNING(
- "%s: BTA_AG_SCO_CLOSE_XFER_ST: Ignoring event %s[%d]", __func__,
- bta_ag_sco_evt_str(event), event);
+ LOG_WARN(" BTA_AG_SCO_CLOSE_XFER_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
default:
- APPL_TRACE_WARNING(
- "%s: BTA_AG_SCO_SHUTTING_ST: Ignoring event %s[%d]", __func__,
- bta_ag_sco_evt_str(event), event);
+ LOG_WARN("BTA_AG_SCO_SHUTTING_ST: Ignoring event %s[%d]",
+ bta_ag_sco_evt_str(event), event);
break;
}
break;
break;
}
if (p_sco->state != previous_state) {
- APPL_TRACE_EVENT(
- "%s: SCO_state_change: [%s(0x%02x)]->[%s(0x%02x)] "
+ LOG_WARN(
+ "SCO_state_change: [%s(0x%02x)]->[%s(0x%02x)] "
"after event [%s(0x%02x)]",
- __func__, bta_ag_sco_state_str(previous_state), previous_state,
+ bta_ag_sco_state_str(previous_state), previous_state,
bta_ag_sco_state_str(p_sco->state), p_sco->state,
bta_ag_sco_evt_str(event), event);
}
}
/* if another scb using sco, this is a transfer */
if (bta_ag_cb.sco.p_curr_scb && bta_ag_cb.sco.p_curr_scb != p_scb) {
- LOG(INFO) << __func__ << ": tranfer " << bta_ag_cb.sco.p_curr_scb->peer_addr
- << " -> " << p_scb->peer_addr;
+ LOG(INFO) << __func__ << ": transfer "
+ << bta_ag_cb.sco.p_curr_scb->peer_addr << " -> "
+ << p_scb->peer_addr;
bta_ag_sco_event(p_scb, BTA_AG_SCO_XFER_E);
} else {
/* else it is an open */
void bta_ag_sco_codec_nego(tBTA_AG_SCB* p_scb, bool result) {
if (result) {
/* Subsequent SCO connection will skip codec negotiation */
- APPL_TRACE_DEBUG("%s: Succeeded for index 0x%04x, device %s", __func__,
- p_scb->sco_idx, p_scb->peer_addr.ToString().c_str());
+ LOG_DEBUG("Succeeded for index 0x%04x, device %s", p_scb->sco_idx,
+ p_scb->peer_addr.ToString().c_str());
p_scb->codec_updated = false;
bta_ag_sco_event(p_scb, BTA_AG_SCO_CN_DONE_E);
} else {
/* codec negotiation failed */
- APPL_TRACE_ERROR("%s: Failed for index 0x%04x, device %s", __func__,
- p_scb->sco_idx, p_scb->peer_addr.ToString().c_str());
+ LOG_DEBUG("Failed for index 0x%04x, device %s", p_scb->sco_idx,
+ p_scb->peer_addr.ToString().c_str());
bta_ag_sco_event(p_scb, BTA_AG_SCO_CLOSE_E);
}
}