Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
b359150
modify file CMakeLists.txt to support LHDC & MIHC
sprlightning Mar 17, 2026
954019a
modify file Kconfig.in to support LHDC & MIHC
sprlightning Mar 17, 2026
5e15e27
modify file esp_a2dp_api.h to support LHDC & MIHC
sprlightning Mar 17, 2026
cb1e0e1
modify file btc_av_co.h to support LHDC & MIHC
sprlightning Mar 17, 2026
9c4520d
modify file bluedroid_user_config.h & bt_target.h to support LHDC & MIHC
sprlightning Mar 17, 2026
6e9a486
modify file bt_av.h to support LHDC & MIHC
sprlightning Mar 17, 2026
d3d2372
add constants & decoders of LHDC & MIHC to support LHDC & MIHC
sprlightning Mar 17, 2026
13d32fa
add constants & decoders source files of LHDC & MIHC to support LHDC …
sprlightning Mar 17, 2026
6dd01a1
modify file a2dp_vendor.h to support LHDC & MIHC
sprlightning Mar 17, 2026
50dcdee
modify file a2dp_vendor.c to support LHDC & MIHC
sprlightning Mar 17, 2026
f3926e5
add note for a2dp_vendor_ldac.h
sprlightning Mar 17, 2026
ab1780a
add start & suspend function for a2dp_vendor_ldac_decoder.h(it is com…
sprlightning Mar 17, 2026
e1fc8cd
add start & suspend function & some notes for a2dp_vendor_ldac.c(it i…
sprlightning Mar 17, 2026
feab5a8
add cleanup function & some notes for a2dp_vendor_ldac_decoder.c(it i…
sprlightning Mar 17, 2026
882cb74
add start & suspend function & some notes for a2dp_vendor_ldacbt_deco…
sprlightning Mar 17, 2026
341ccbf
modified file btc_a2dp_sink.c, define A2DP_TASK_STACK_SIZE when BTC_T…
sprlightning Mar 17, 2026
e51d12f
modified file btc_avrc.c, fixed avrc tg cb like avrc abs volume control
sprlightning Mar 17, 2026
6d1800c
modified file bta_av_act.c, fixed avrcp abs volume control
sprlightning Mar 17, 2026
b8831c0
去掉没意义的测试内容
sprlightning Jul 21, 2026
b27f04d
update .gitmodule with url = https://github.com/
sprlightning Jul 21, 2026
a172853
add branch for opus and liblc3
sprlightning Jul 21, 2026
5e0b5be
add submodule libfreeaptx with branch master
sprlightning Jul 21, 2026
c584c73
add submodule arduino-fdk-aac with branch idf_component
sprlightning Jul 21, 2026
a74da6b
add submodule libldac-dec with branch esp32
sprlightning Jul 21, 2026
237429e
update format of .gitmodules
sprlightning Jul 21, 2026
226b6be
add submodule libldacdec with branch master from anonymix007, this is…
sprlightning Jul 21, 2026
d954ecf
调整bt的CMakeLists.txt,调整libldacdec的包含,处理libmihc的包含
sprlightning Jul 21, 2026
d751021
add submodule liblhdcv5dec with branch main
sprlightning Jul 21, 2026
18cc9f3
调整.gitmodules格式
sprlightning Jul 21, 2026
cf9c898
add README for external codecs
sprlightning Jul 21, 2026
8509514
remove some a2dp codecs:
sprlightning Jul 26, 2026
91a9d6a
add PSRAM allocation
sprlightning Jul 26, 2026
e9ae3dc
fix inclusion
sprlightning Jul 26, 2026
6dc818c
fix vendor_id_a of LHDCV5
sprlightning Jul 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 43 additions & 21 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@

[submodule "components/bt/controller/lib_esp32"]
path = components/bt/controller/lib_esp32
url = ../../espressif/esp32-bt-lib.git
url = https://github.com/espressif/esp32-bt-lib.git

[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
url = ../../kmackay/micro-ecc.git
url = https://github.com/kmackay/micro-ecc.git
sbom-version = 1.1
sbom-cpe = cpe:2.3:a:micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Ken MacKay
Expand All @@ -39,7 +39,7 @@

[submodule "components/spiffs/spiffs"]
path = components/spiffs/spiffs
url = ../../pellepl/spiffs.git
url = https://github.com/pellepl/spiffs.git
sbom-version = 0.2-255-g0dbb3f71c5f6
sbom-supplier = Person: Peter Andersson
sbom-url = https://github.com/pellepl/spiffs
Expand All @@ -48,7 +48,7 @@

[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
url = https://github.com/DaveGamble/cJSON.git
sbom-version = 1.7.17
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
Expand All @@ -58,19 +58,19 @@

[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
url = ../../espressif/mbedtls.git
url = https://github.com/espressif/mbedtls.git

[submodule "components/lwip/lwip"]
path = components/lwip/lwip
url = ../../espressif/esp-lwip.git
url = https://github.com/espressif/esp-lwip.git

[submodule "components/mqtt/esp-mqtt"]
path = components/mqtt/esp-mqtt
url = ../../espressif/esp-mqtt.git
url = https://github.com/espressif/esp-mqtt.git

[submodule "components/protobuf-c/protobuf-c"]
path = components/protobuf-c/protobuf-c
url = ../../protobuf-c/protobuf-c.git
url = https://github.com/protobuf-c/protobuf-c.git
sbom-version = 1.4.1
sbom-cpe = cpe:2.3:a:protobuf-c_project:protobuf-c:{}:*:*:*:*:*:*:*
sbom-supplier = Organization: protobuf-c community <https://groups.google.com/g/protobuf-c>
Expand All @@ -80,7 +80,7 @@

[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
url = https://github.com/ThrowTheSwitch/Unity.git
sbom-version = v2.4.3-51-g7d2bf62b7e6a
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/Unity
Expand All @@ -89,15 +89,15 @@

[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble
url = ../../espressif/esp-nimble.git
url = https://github.com/espressif/esp-nimble.git

[submodule "components/esp_wifi/lib"]
path = components/esp_wifi/lib
url = ../../espressif/esp32-wifi-lib.git
url = https://github.com/espressif/esp32-wifi-lib.git

[submodule "components/cmock/CMock"]
path = components/cmock/CMock
url = ../../ThrowTheSwitch/CMock.git
url = https://github.com/ThrowTheSwitch/CMock.git
sbom-version = v2.5.2-2-geeecc49ce8af
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/CMock
Expand All @@ -106,44 +106,66 @@

[submodule "components/openthread/openthread"]
path = components/openthread/openthread
url = ../../espressif/openthread.git
url = https://github.com/espressif/openthread.git

[submodule "components/bt/controller/lib_esp32c3_family"]
path = components/bt/controller/lib_esp32c3_family
url = ../../espressif/esp32c3-bt-lib.git
url = https://github.com/espressif/esp32c3-bt-lib.git

[submodule "components/esp_phy/lib"]
path = components/esp_phy/lib
url = ../../espressif/esp-phy-lib.git
url = https://github.com/espressif/esp-phy-lib.git

[submodule "components/openthread/lib"]
path = components/openthread/lib
url = ../../espressif/esp-thread-lib.git
url = https://github.com/espressif/esp-thread-lib.git

[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
url = ../../espressif/esp32h2-bt-lib.git
url = https://github.com/espressif/esp32h2-bt-lib.git

[submodule "components/bt/controller/lib_esp32c2/esp32c2-bt-lib"]
path = components/bt/controller/lib_esp32c2/esp32c2-bt-lib
url = ../../espressif/esp32c2-bt-lib.git
url = https://github.com/espressif/esp32c2-bt-lib.git

[submodule "components/bt/controller/lib_esp32c6/esp32c6-bt-lib"]
path = components/bt/controller/lib_esp32c6/esp32c6-bt-lib
url = ../../espressif/esp32c6-bt-lib.git
url = https://github.com/espressif/esp32c6-bt-lib.git

[submodule "components/heap/tlsf"]
path = components/heap/tlsf
url = ../../espressif/tlsf.git
url = https://github.com/espressif/tlsf.git

[submodule "components/esp_coex/lib"]
path = components/esp_coex/lib
url = ../../espressif/esp-coex-lib.git
url = https://github.com/espressif/esp-coex-lib.git

[submodule "components/bt/host/bluedroid/external/opus"]
path = components/bt/host/bluedroid/external/opus
url = https://github.com/xiph/opus.git
branch = main

[submodule "components/bt/host/bluedroid/external/liblc3"]
path = components/bt/host/bluedroid/external/liblc3
url = https://github.com/cfint/liblc3.git
branch = esp32

[submodule "components/bt/host/bluedroid/external/libfreeaptx"]
path = components/bt/host/bluedroid/external/libfreeaptx
url = https://github.com/cfint/libfreeaptx-esp.git
branch = master

[submodule "components/bt/host/bluedroid/external/arduino-fdk-aac"]
path = components/bt/host/bluedroid/external/arduino-fdk-aac
url = https://github.com/cfint/arduino-fdk-aac.git
branch = idf_component

[submodule "components/bt/host/bluedroid/external/libldac-dec"]
path = components/bt/host/bluedroid/external/libldac-dec
url = https://github.com/cfint/libldac-dec.git
branch = esp32

[submodule "components/bt/host/bluedroid/external/LHDC-V5-Decoder"]
path = components/bt/host/bluedroid/external/LHDC-V5-Decoder
url = https://github.com/WillyBilly06/LHDC-V5-Decoder.git
branch = main
149 changes: 149 additions & 0 deletions .gitmodules.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
#
# All the relative URL paths are intended to be GitHub ones
# For Espressif's public projects please use '../../espressif/proj', not a '../proj'
#
# Submodules SBOM information
# ---------------------------
# Submodules, which are used directly and not forked into espressif namespace should
# contain SBOM information here. Other submodules should have the SBOM manifest file
# included in the root of their project's repository.
#
# The sbom-hash entry records the submodule's checkout SHA as presented in git-tree
# commit object. For example spiffs submodule
#
# $ git ls-tree HEAD components/spiffs/spiffs
# 160000 commit 0dbb3f71c5f6fae3747a9d935372773762baf852 components/spiffs/spiffs
#
# The hash can be also obtained with git submodule command
#
# $ git submodule status components/spiffs/spiffs
# 0dbb3f71c5f6fae3747a9d935372773762baf852 components/spiffs/spiffs (0.2-255-g0dbb3f71c5f6)
#
# The submodule SHA recorded here has to match with SHA, which is presented in git-tree.
# This is checked by CI. Also please don't forget to update the submodule version
# if you are changing the sbom-hash. This is important for SBOM generation.

[submodule "components/bt/controller/lib_esp32"]
path = components/bt/controller/lib_esp32
url = ../../espressif/esp32-bt-lib.git

[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
url = ../../kmackay/micro-ecc.git
sbom-version = 1.1
sbom-cpe = cpe:2.3:a:micro-ecc_project:micro-ecc:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Ken MacKay
sbom-url = https://github.com/kmackay/micro-ecc
sbom-description = A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors
sbom-hash = 24c60e243580c7868f4334a1ba3123481fe1aa48

[submodule "components/spiffs/spiffs"]
path = components/spiffs/spiffs
url = ../../pellepl/spiffs.git
sbom-version = 0.2-255-g0dbb3f71c5f6
sbom-supplier = Person: Peter Andersson
sbom-url = https://github.com/pellepl/spiffs
sbom-description = Wear-leveled SPI flash file system for embedded devices
sbom-hash = 0dbb3f71c5f6fae3747a9d935372773762baf852

[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.17
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = 87d8f0961a01bf09bef98ff89bae9fdec42181ee

[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
url = ../../espressif/mbedtls.git

[submodule "components/lwip/lwip"]
path = components/lwip/lwip
url = ../../espressif/esp-lwip.git

[submodule "components/mqtt/esp-mqtt"]
path = components/mqtt/esp-mqtt
url = ../../espressif/esp-mqtt.git

[submodule "components/protobuf-c/protobuf-c"]
path = components/protobuf-c/protobuf-c
url = ../../protobuf-c/protobuf-c.git
sbom-version = 1.4.1
sbom-cpe = cpe:2.3:a:protobuf-c_project:protobuf-c:{}:*:*:*:*:*:*:*
sbom-supplier = Organization: protobuf-c community <https://groups.google.com/g/protobuf-c>
sbom-url = https://github.com/protobuf-c/protobuf-c
sbom-description = Protocol Buffers implementation in C
sbom-hash = abc67a11c6db271bedbb9f58be85d6f4e2ea8389

[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
sbom-version = v2.4.3-51-g7d2bf62b7e6a
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/Unity
sbom-description = Simple Unit Testing for C
sbom-hash = 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25

[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble
url = ../../espressif/esp-nimble.git

[submodule "components/esp_wifi/lib"]
path = components/esp_wifi/lib
url = ../../espressif/esp32-wifi-lib.git

[submodule "components/cmock/CMock"]
path = components/cmock/CMock
url = ../../ThrowTheSwitch/CMock.git
sbom-version = v2.5.2-2-geeecc49ce8af
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/CMock
sbom-description = CMock - Mock/stub generator for C
sbom-hash = eeecc49ce8af123cf8ad40efdb9673e37b56230f

[submodule "components/openthread/openthread"]
path = components/openthread/openthread
url = ../../espressif/openthread.git

[submodule "components/bt/controller/lib_esp32c3_family"]
path = components/bt/controller/lib_esp32c3_family
url = ../../espressif/esp32c3-bt-lib.git

[submodule "components/esp_phy/lib"]
path = components/esp_phy/lib
url = ../../espressif/esp-phy-lib.git

[submodule "components/openthread/lib"]
path = components/openthread/lib
url = ../../espressif/esp-thread-lib.git

[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
url = ../../espressif/esp32h2-bt-lib.git

[submodule "components/bt/controller/lib_esp32c2/esp32c2-bt-lib"]
path = components/bt/controller/lib_esp32c2/esp32c2-bt-lib
url = ../../espressif/esp32c2-bt-lib.git

[submodule "components/bt/controller/lib_esp32c6/esp32c6-bt-lib"]
path = components/bt/controller/lib_esp32c6/esp32c6-bt-lib
url = ../../espressif/esp32c6-bt-lib.git

[submodule "components/heap/tlsf"]
path = components/heap/tlsf
url = ../../espressif/tlsf.git

[submodule "components/esp_coex/lib"]
path = components/esp_coex/lib
url = ../../espressif/esp-coex-lib.git

[submodule "components/bt/host/bluedroid/external/opus"]
path = components/bt/host/bluedroid/external/opus
url = https://github.com/xiph/opus.git

[submodule "components/bt/host/bluedroid/external/liblc3"]
path = components/bt/host/bluedroid/external/liblc3
url = https://github.com/cfint/liblc3.git
21 changes: 21 additions & 0 deletions components/bt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -843,6 +843,27 @@ if(CONFIG_BT_A2DP_AAC_DECODER)

endif()

if(CONFIG_BT_A2DP_LHDCV5_DECODER)
list(APPEND priv_include_dirs host/bluedroid/external/LHDC-V5-Decoder/decoder)
list(APPEND lhdcv5_dec_srcs "host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_bit_reader.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_dec.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_diag_config.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_entropy_dec.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_imdct.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_sns_synth.c"
"host/bluedroid/external/LHDC-V5-Decoder/decoder/lhdc_tables.c")
list(APPEND srcs ${lhdcv5_dec_srcs})

list(APPEND srcs "host/bluedroid/stack/a2dp/a2dp_vendor_lhdcv5.c"
"host/bluedroid/stack/a2dp/a2dp_vendor_lhdcv5_decoder.c")

endif()

if(CONFIG_BT_A2DP_MIHC_DECODER)
list(APPEND srcs "host/bluedroid/stack/a2dp/a2dp_vendor_mihc.c"
"host/bluedroid/stack/a2dp/a2dp_vendor_mihc_decoder.c")
endif()

idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
Expand Down
Loading