Hi,
On 11:21 Tue 12 Mar, Claudio Takahasi wrote:
From: Vinicius Costa Gomes <vinicius.gomes(a)openbossa.org>
Before, the AT+BAC command was being sent with fixed information,
now we send the command (that inform the AG of the codecs supported by
the HF) with the codecs supported by the registered Handsfree Audio
Agent.
---
drivers/hfpmodem/slc.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/drivers/hfpmodem/slc.c b/drivers/hfpmodem/slc.c
index 646befa..b9b687b 100644
--- a/drivers/hfpmodem/slc.c
+++ b/drivers/hfpmodem/slc.c
@@ -34,6 +34,7 @@
#include <ofono/log.h>
#include <ofono/modem.h>
#include <ofono/emulator.h>
+#include <ofono/handsfree-audio.h>
#include <drivers/atmodem/atutil.h>
@@ -305,9 +306,27 @@ static void brsf_cb(gboolean ok, GAtResult *result, gpointer
user_data)
if (info->ag_features & HFP_AG_FEATURE_CODEC_NEGOTIATION &&
info->hf_features & HFP_HF_FEATURE_CODEC_NEGOTIATION) {
+ unsigned char codecs[8];
+ GString *str;
+ int i, len;
+
+ len = ofono_handsfree_get_codecs(codecs, sizeof(codecs));
+ if (len < 0)
This should read "if (len <= 0)". Will fix it in the next round.
+ goto error;
+
+ str = g_string_new("AT+BAC=");
+
+ for (i = 0; i < (len - 1); i++)
+ g_string_append_printf(str, "%d,", codecs[i]);
+
+ g_string_append_printf(str, "%d", codecs[i]);
+
slc_establish_data_ref(sed);
- g_at_chat_send(info->chat, "AT+BAC=1", NULL, bac_cb, sed,
+ g_at_chat_send(info->chat, str->str, NULL, bac_cb, sed,
slc_establish_data_unref);
+
+ g_string_free(str, TRUE);
+
return;
}
--
1.7.11.7
Cheers,
--
Vinicius