Commit Graph
61 Commits
Author SHA1 Message Date
yangfeng 163e1cd783 feat(bt/example): Support I2S output of esp32s31 in A2DP sink stream example 2026-06-25 11:43:45 +08:00
yangfeng 16fa00e3b2 fix: Fix the critical issues of btu and bt_common from AI review report
- advance connect queue on synchronous connect_cb failure
- lock bta_alarm_hash_map in all BTA timer APIs
- free controller params after stack disable; cleanup on init fail
- handle BTE_InitStack failure and signal init future
- validate HCI remote name event length before parse
- drop stale L2CAP quick-timer alarm events
2026-06-25 10:43:29 +08:00
yangfeng 169a29defc fix(bt): Fix the high issues related to AVRCP from AI review report
- SDP/registration: handle SDP record creation and discovery failures safely
- AVRC stack: fix packet checks, fragment leaks, response build, and compile guards
- BTC AVRCP: fix return codes, connection state, metadata parsing, and memory leaks
- AVCTP: fix event passing, L2CAP conflicts, TX queue leaks, and disconnect handling
- Example: remove TG RN capability setup before initialization
2026-06-24 11:20:09 +08:00
yangfeng 3210f4eea5 fix(bt): Fix the critical issues related to AVRCP from AI review report
- recalculate len_left per attribute in avrc_bld_app_setting_text_rsp
- abort fragmented message reassembly when reassembly buffer alloc fails
2026-06-24 11:20:09 +08:00
yangfeng 0dce2d707d fix(bt): Fix the critical issues related to A2DP from AI review report
AVDT:
- Roll back CCB allocation when cmd/rsp queue creation fails
- Free media packet on invalid handle in AVDT_WriteReqOpt
- Zero-init timeout failure message before GETCAP callback
- Initialize lcid_tbl to 0xFF to avoid mapping to tc_tbl[0]
BTA/AVRCP:
- Use size_t for AVRC message copy buffer allocation
- Allocate before register in BTA_AvEnable
- Guard BTA_AvRegister callback when enable never completed
- Remove invalid free of inline Cover Art image_descriptor
A2DP BTC/API:
- Default g_a2dp_on_deinit to true before profile init
- Reject source audio send when A2DP is deiniting
- Add shutdown state check in btc_a2dp_sink_shutdown
- Guard A2DP source timer against freed dynamic local param
2026-06-23 20:15:48 +08:00
yangfeng 0211122300 fix(bt): Fix the critical issues related to HFP from AI review report
HFP AG:
- Fix mSBC EV3 second-packet payload length calculation to prevent OOB read and infinite loop
- Add init/deinit guards in HF AG helper functions to avoid NULL deref
- Return bt_status_t from btc_hf_ag_audio_data_send to avoid silent buffer leak on SLC failure
- Break SCO CI data loop when SCO is not open to prevent CPU starvation
- Guard BTM_FreeSCN(0) and reset SCN after free in bta_ag_del_records
- Use OI_UINT32 for mSBC decode frame length to avoid stack corruption
- Bound AT Dial command string copy to BTA_AG_AT_MAX_LEN
HFP Client:
- Check osi_calloc result before use when reassembling split mSBC frames
- Use OI_UINT32 for mSBC decode frame length to avoid stack corruption
- Free SDP db, collision/AT timers and queued AT cmds before scb reset on disable
- Fix mSBC EV3 second-packet payload length calculation (same as AG)
- Reject pcm_resample input smaller than overlap window (96 bytes) on filtered path
- Break SCO CI data loop when SCO is not open to prevent CPU starvation
- Guard BTM_FreeSCN(0) and reset SCN after free in bta_hf_client_del_record
2026-06-23 19:36:16 +08:00
yangfeng b327c9cc8f fix: Fix the incorrect connection of the same-name devices in the HFP example 2026-06-09 19:32:50 +08:00
yangfeng 6028243598 fix: Fix missing handling for HCI_ERR_CONNECTION_EXISTS
- Closes https://github.com/espressif/esp-idf/issues/18562
2026-06-04 19:13:38 +08:00
yangfeng d2cbbb3d1e fix: Fix the potential stack overflow issue in the Classic Bluetooth example 2026-06-03 20:08:20 +08:00
yangfeng f4efc8aafe fix(bt): Modify the documents in Classic Bluetooth examples to support esp32s31 2026-05-29 17:20:44 +08:00
yangfeng e7d079c422 feat(bt): Add a2dp_source_aac example 2026-05-21 21:15:36 +08:00
yangfeng 22f116eed5 feat(bt): Add a2dp_sink_stream_aac example 2026-05-21 21:15:36 +08:00
yangfeng 99d6c664be feat(bt): A2DP source supports AAC codec 2026-05-21 21:15:36 +08:00
yangfeng 42624248d3 fix: Remove the check for recv and send being NULL 2026-05-18 15:11:23 +08:00
yangfeng 84bdfef5cf feat(bt): Support AAC codec for A2DP
- Allow multiple registrations of SEP
- Add a callback event to report the sep information of A2DP sink
- Closes https://github.com/espressif/esp-idf/issues/12114
- Closes https://github.com/espressif/esp-idf/issues/18184
2026-05-07 17:11:57 +08:00
yangfeng f1e65d7881 fix(bt/example): fix critical issues of classic_bt examples reported by AI review 2026-05-06 20:17:18 +08:00
yangfeng 8ca5ad43a3 fix(bt): fix HFP api and btc component issues reported by AI review 2026-04-17 10:06:55 +08:00
yangfeng 4388d9dfc7 fix(bt): fix HFP bta component issues reported by AI review 2026-04-17 10:06:55 +08:00
yangfeng 63f04b97f2 fix(bt): fix A2DP stack component issues reported by AI review 2026-04-16 17:06:03 +08:00
yangfeng 08c5766c96 fix(bt): fix A2DP bta component issues reported by AI review 2026-04-16 16:59:13 +08:00
yangfeng e3782bf2c0 fix(bt): fix A2DP api and btc component issues reported by AI review 2026-04-16 16:59:13 +08:00
yangfeng d997218dbc fix(bt): fix AVRCP component issues reported by AI review 2026-04-14 14:34:30 +08:00
yangfeng 0e9d642d74 fix(bt): avoid deleting device record on partial transport cleanup 2026-04-01 10:02:26 +08:00
yangfeng ba154fb3e1 fix(bt/example): Fixed the HFP printing issue in the CI test 2026-03-27 10:52:32 +08:00
yangfeng 7a0771d2c8 feat(bt): Add APIs to control transmit power level
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-13 10:12:40 +08:00
yangfeng cf554d6d61 fix(hid): Fixed HID repeatedly reporting the close event 2026-03-13 09:45:14 +08:00
yangfeng 2dfc09fbbd change(bt/examples): Add the use of internal codec APIs in the hfp_hf example
- Closes https://github.com/espressif/esp-idf/issues/18261
2026-03-02 11:15:47 +08:00
yangfeng 8e1629ee21 fix: Fix the relative path of esp_bredr_cfg.h 2026-02-25 11:03:41 +08:00
yangfeng 933b2856f5 feat(bt/bluedroid): Add API to set encoder parameters for A2DP source
- Add API to set encoder parameters for A2DP source
- Add the use of the API for setting encoding parameters in the a2dp_source example
2026-01-22 11:17:41 +08:00
yangfeng 0be60f6c83 fix(bt/bluedroid): Handle stream reconfiguration via stream close and re-open for A2DP ACP 2026-01-22 11:17:41 +08:00
yangfeng 7b891a8ffc feat(bt/bluedroid): Report A2DP sink codec capabilities for A2DP source 2026-01-22 11:17:41 +08:00
yangfeng d5e6a8bd18 feat(bt): set BR/EDR max sync conn eff for Bluedroid HFP on ESP32
Closes https://github.com/espressif/esp-idf/issues/18060
2026-01-16 12:05:57 +08:00
yangfeng 64a2955ec3 docs(bt): update Classic Bluetooth api reference of SDP 2026-01-07 20:18:02 +08:00
yangfeng 25a33c75f6 docs(bt): update Classic Bluetooth api reference of L2CAP 2026-01-07 20:18:02 +08:00
yangfeng 20f95af934 docs(bt): update Classic Bluetooth api reference of HID Host 2026-01-07 20:18:02 +08:00
yangfeng 7aff43b2b8 docs(bt): update Classic Bluetooth api reference of HID Device 2026-01-07 20:18:02 +08:00
yangfeng c4fa07d9a6 docs(bt): update Classic Bluetooth api reference of HFP AG 2026-01-07 20:18:02 +08:00
yangfeng cfac6b313f docs(bt): update Classic Bluetooth api reference of HFP Client 2026-01-07 20:18:02 +08:00
yangfeng 8d784d9f08 docs(bt): update Classic Bluetooth api reference of HFP Define 2026-01-07 20:18:02 +08:00
yangfeng 5dbfc9075f docs(bt): update Classic Bluetooth api reference of SPP 2026-01-07 20:18:02 +08:00
yangfeng 290d477880 docs(bt): update Classic Bluetooth api reference of AVRCP 2026-01-07 20:18:02 +08:00
yangfeng 322984c0cb docs(bt): update Classic Bluetooth api reference of A2DP 2026-01-07 20:18:02 +08:00
yangfeng 952a63ea93 docs(bt): update Classic Bluetooth api reference of GAP 2026-01-07 09:48:53 +08:00
yangfeng 6cde933f68 fix(bt/bluedroid): Fix index boundary check and function return in SEP registration
Closes https://github.com/espressif/esp-idf/issues/18041
2025-12-26 19:21:53 +08:00
yangfeng 3b6b7e8a60 fix(examples/classic_bt): Add A2DP sink delay for AVRCP cover art and absolute volume examples 2025-12-25 11:25:20 +08:00
yangfeng dc4b0828f6 refactor(examples/classic_bt): Add example tests for A2DP and AVRCP examples 2025-12-19 11:31:15 +08:00
yangfeng 09e448710b docs: Add explanations for the A2DP sink stream and AVRCP examples
- Modify the path of A2DP sink example
2025-12-19 11:31:15 +08:00
yangfeng e7073b25d5 refactor(examples/classic_bt): Add AVRCP cover art example with LCD display 2025-12-19 11:31:15 +08:00
yangfeng 8ace46d440 refactor(examples/classic_bt): Add common code for AVRCP cover art example 2025-12-19 11:31:15 +08:00
yangfeng d15acf8a80 refactor: Refactor the example of the coexistence of A2DP sink and GATT service 2025-12-19 11:31:15 +08:00
yangfeng bb46db736c refactor(examples/classic_bt): Refactor A2DP sink and AVRCP examples
- Add avrcp_ct_metadata example
- Add avrcp_absolute_volume example
- Add the example components about common code for a2dp sink and avrcp
2025-12-19 11:31:15 +08:00
yangfeng 8e9bdda713 fix(bt/bluedroid): Fix the status judgment of the A2DP source registration SEP 2025-11-27 14:22:04 +08:00
yangfeng 43808ef7a9 fix(bt/examples): Fixed test_bt_l2cap not finding ESP_SDP_CREATE_RECORD_COMP_EVT 2025-11-17 16:52:08 +08:00
yangfeng 98864d279f fix(bt/example): Fixed hf_ag build error 2025-11-10 16:59:16 +08:00
yangfeng d9ce1e6bc9 fix(esp_coex): fix explicit null dereferenced reported by coverity 2025-10-13 19:39:51 +08:00
yangfeng 4606fa87c7 fix(example/classic_bt): Fix potential stack overflow tasks 2025-10-11 16:40:43 +08:00
yangfeng dc1c22f090 fix(example/classic_bt): Fix the stack overflow of the SPPAppT and mouse_move_task tasks 2025-10-10 14:42:01 +08:00
yangfeng 743036ad77 fix(bt/bluedroid): Fix the boundary conditions when checking EIR data 2025-09-28 17:50:48 +08:00
yangfeng 4e39ac7d49 fix(bt/btc): Fix array compared against 0 in btc_manage.c 2025-09-16 17:10:36 +08:00
yangfeng d5758cd823 fix(esp_coex): Fix the issue of uninitialized pointer reading in coexist_printf 2025-09-16 17:10:36 +08:00
yangfeng a0fe68ce45 fix(bt/bluedroid): Prevent out-of-bounds access and add type check when resolving EIR data 2025-08-18 09:20:05 +08:00