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

- Closes https://github.com/espressif/esp-idf/issues/18848
This commit is contained in:
yangfeng
2026-07-28 09:52:41 +08:00
committed by BOT
parent 4ef8e295ea
commit 37d751375c
3 changed files with 9 additions and 4 deletions

View File

@@ -144,8 +144,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

@@ -2366,6 +2366,11 @@
#define AVDT_NUM_SEPS 3
#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 */