From c0fc6500cffc2c021f0f6b559b62818977ce0020 Mon Sep 17 00:00:00 2001 From: jincheng Date: Mon, 1 Nov 2021 12:26:40 +0800 Subject: [PATCH] fix hfp_ag demo audio not sine_v4.1 --- .../bluedroid/classic_bt/hfp_ag/main/bt_app_hf.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/bluetooth/bluedroid/classic_bt/hfp_ag/main/bt_app_hf.c b/examples/bluetooth/bluedroid/classic_bt/hfp_ag/main/bt_app_hf.c index 30bdb9f9e7..25b70fd970 100644 --- a/examples/bluetooth/bluedroid/classic_bt/hfp_ag/main/bt_app_hf.c +++ b/examples/bluetooth/bluedroid/classic_bt/hfp_ag/main/bt_app_hf.c @@ -116,17 +116,17 @@ static const int16_t sine_int16[] = { -19260, -17557, -15786, -13952, -12062, -10126, -8149, -6140, -4107, -2057, }; -#define TABLE_SIZE_CVSD 100 +#define TABLE_SIZE_CVSD 100 +#define TABLE_SIZE_CVSD_BYTE 200 static uint32_t bt_app_hf_outgoing_cb(uint8_t *p_buf, uint32_t sz) { - static int sine_phase = 0; + static int index = 0; + uint8_t *data = (uint8_t *)sine_int16; - for (int i = 0; i * 2 + 1 < sz; i++) { - p_buf[i * 2] = sine_int16[sine_phase]; - p_buf[i * 2 + 1] = sine_int16[sine_phase]; - ++sine_phase; - if (sine_phase >= TABLE_SIZE_CVSD) { - sine_phase -= TABLE_SIZE_CVSD; + for (uint32_t i = 0; i < sz; i++) { + p_buf[i] = data[index++]; + if (index >= TABLE_SIZE_CVSD_BYTE) { + index -= TABLE_SIZE_CVSD_BYTE; } } return sz;