---
plugins/hfp_ag.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/plugins/hfp_ag.c b/plugins/hfp_ag.c
index ea9c112..8500bff 100644
--- a/plugins/hfp_ag.c
+++ b/plugins/hfp_ag.c
@@ -37,7 +37,9 @@
#define AGENT_PATH "/hfp_ag"
#define VERSION_1_5 0x0105
-#define FEATURES (HFP_AG_FEATURE_3WAY | HFP_AG_FEATURE_REJECT_CALL | \
+#define FEATURES (HFP_AG_FEATURE_3WAY | HFP_AG_FEATURE_ECNR | \
+ HFP_AG_FEATURE_IN_BAND_RING_TONE | \
+ HFP_AG_FEATURE_REJECT_CALL | \
HFP_AG_FEATURE_ENHANCED_CALL_STATUS | \
HFP_AG_FEATURE_ENHANCED_CALL_CONTROL | \
HFP_AG_FEATURE_EXTENDED_RES_CODE)
@@ -50,6 +52,13 @@ static guint modemwatch_id;
static GList *modems;
static GHashTable *sim_hash = NULL;
+static gboolean client_event(GIOChannel *chan, GIOCondition cond, gpointer
data)
+{
+ bluetooth_free_audio_management(data);
+
+ return FALSE;
+}
+
static DBusMessage *hfp_ag_agent_new_connection(DBusConnection *conn,
DBusMessage *msg, void *data)
{
@@ -60,6 +69,8 @@ static DBusMessage
*hfp_ag_agent_new_connection(DBusConnection *conn,
guint16 features = 0;
struct ofono_emulator *em;
struct ofono_modem *modem;
+ void *audio;
+ GIOChannel *io;
fd = bluetooth_parse_newconnection_message(msg, &device, &uuid,
&version, &features, &path);
@@ -82,6 +93,12 @@ static DBusMessage
*hfp_ag_agent_new_connection(DBusConnection *conn,
return __ofono_error_failed(msg);
ofono_emulator_register(em, fd);
+ audio = bluetooth_set_audio_management(em, path, features);
+
+ io = g_io_channel_unix_new(fd);
+ g_io_add_watch_full(io, G_PRIORITY_HIGH,
+ G_IO_HUP | G_IO_ERR | G_IO_NVAL, client_event,
+ audio, NULL);
return dbus_message_new_method_return(msg);
}
--
1.7.1
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono