aboutsummaryrefslogtreecommitdiff
path: root/src/mm-call-at.c
diff options
context:
space:
mode:
authorDan Williams <dan@ioncontrol.co>2025-04-25 07:24:38 -0500
committerDan Williams <dan@ioncontrol.co>2025-05-30 08:02:48 -0500
commitae3d37030a451eda2680af02cc63ba7bfbeeacbf (patch)
tree1e01e91941dd881d1ab4783d4f3dc0bedf259b22 /src/mm-call-at.c
parent56fe8e7d314c637d6df45f693e2377b18685a405 (diff)
base-call: handle multiple DTMF characters
Send each character through the state machine one at a time. Some modems (various Quectel ones for example) can process multiple at the same time, and while that should be easily implemented using the new changes to send_dtmf() it's not done in any plugin yet. Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src/mm-call-at.c')
-rw-r--r--src/mm-call-at.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mm-call-at.c b/src/mm-call-at.c
index 0a81b929..3a1c3263 100644
--- a/src/mm-call-at.c
+++ b/src/mm-call-at.c
@@ -312,12 +312,12 @@ call_hangup (MMBaseCall *_self,
/*****************************************************************************/
/* Send DTMF tone to call */
-static gboolean
+static gssize
call_send_dtmf_finish (MMBaseCall *self,
GAsyncResult *res,
GError **error)
{
- return g_task_propagate_boolean (G_TASK (res), error);
+ return g_task_propagate_int (G_TASK (res), error);
}
static void
@@ -338,7 +338,8 @@ call_send_dtmf_ready (MMBaseModem *modem,
return;
}
- g_task_return_boolean (task, TRUE);
+ /* We sent one character */
+ g_task_return_int (task, 1);
g_object_unref (task);
}