refactor(bt/bluedroid): Refactor a2dp audio data path

- Refactor audio APIs, optimize audio data path, reduce memory copy operations
- Support using external codec in application layer
- The internal codec will not be compiled if not use
This commit is contained in:
linruihao
2025-02-12 20:06:10 +08:00
parent eda7ea3f49
commit 74fab3a7b1
26 changed files with 1715 additions and 263 deletions
@@ -30,7 +30,12 @@
/* the length of the SBC Media Payload header. */
#define A2D_SBC_MPL_HDR_LEN 1
/* the LOSC of SBC media codec capabilitiy */
/* CIE offset in the info byte sequence */
#define A2D_SBC_CIE_OFF 3
/* CIE length in the info byte sequence */
#define A2D_SBC_CIE_LEN 4
/* the LOSC of SBC media codec capability */
#define A2D_SBC_INFO_LEN 6
/* for Codec Specific Information Element */
@@ -517,6 +517,18 @@ extern void AVDT_AbortReq(UINT8 handle);
*******************************************************************************/
extern UINT16 AVDT_CreateStream(UINT8 *p_handle, tAVDT_CS *p_cs);
/*******************************************************************************
**
** Function AVDT_UpdateCodecInfo
**
** Description Update codec capability for a stream endpoint.
**
**
** Returns AVDT_SUCCESS if successful, otherwise error.
**
*******************************************************************************/
extern UINT16 AVDT_UpdateCodecInfo(UINT8 handle, UINT8 num_codec, UINT8 *codec_info, UINT16 codec_info_len);
/*******************************************************************************
**
** Function AVDT_RemoveStream