Merge branch 'bugfix/a2dp_sink_nego_sbc' into 'master'

fix(bt): do not cap AVDTP Discover results by local SEP count

Closes IDFGH-17987

See merge request espressif/esp-idf!51241
This commit is contained in:
Wang Meng Yang
2026-08-13 14:51:08 +08:00
3 changed files with 9 additions and 4 deletions

View File

@@ -145,8 +145,8 @@ enum {
#define BTA_AV_LAST_EVT BTA_AV_API_SET_DELAY_VALUE_EVT
/* maximum number of SEPS in stream discovery results */
#define BTA_AV_NUM_SEPS 32
/* maximum number of SEPS in stream discovery results (keep in sync with AVDT) */
#define BTA_AV_NUM_SEPS AVDT_DIS_RES_MAX_NUM_SEPS
/* initialization value for AVRC handle */
#define BTA_AV_RC_HANDLE_NONE 0xFF

View File

@@ -2431,6 +2431,11 @@
#define AVDT_NUM_SEPS UC_BT_A2DP_SEP_NUM_MAX
#endif
/* Maximum number of peer SEPs accepted in AVDTP Discover results. */
#ifndef AVDT_DIS_RES_MAX_NUM_SEPS
#define AVDT_DIS_RES_MAX_NUM_SEPS 32
#endif
/* Number of transport channels setup per media stream(audio or video) */
#ifndef AVDT_NUM_CHANNELS

View File

@@ -992,8 +992,8 @@ static UINT8 avdt_msg_prs_discover_rsp(tAVDT_MSG *p_msg, UINT8 *p, UINT16 len)
if (p_msg->discover_rsp.num_seps > (len / 2)) {
p_msg->discover_rsp.num_seps = (len / 2);
}
if (p_msg->discover_rsp.num_seps > AVDT_NUM_SEPS) {
p_msg->discover_rsp.num_seps = AVDT_NUM_SEPS;
if (p_msg->discover_rsp.num_seps > AVDT_DIS_RES_MAX_NUM_SEPS) {
p_msg->discover_rsp.num_seps = AVDT_DIS_RES_MAX_NUM_SEPS;
}
/* parse out sep info */