diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-13 21:59:15 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-13 21:59:15 +0000 |
commit | cfe23d813baba53d9a259d4bd0ded24c28eb70c0 (patch) | |
tree | cf39eb30049778e83ba0ef6c5c9ac8fa869a50e2 | |
parent | 6daaf236fa02216a08f8868429eebc55ee2383a9 (diff) |
Merged revisions 79334 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r79334 | file | 2007-08-13 18:57:20 -0300 (Mon, 13 Aug 2007) | 2 lines
Instead of accepting a single DTMF character accept a full string.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79335 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | apps/app_speech_utils.c | 2 | ||||
-rw-r--r-- | include/asterisk/speech.h | 4 | ||||
-rw-r--r-- | res/res_speech.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/apps/app_speech_utils.c b/apps/app_speech_utils.c index df2fe468a..040219427 100644 --- a/apps/app_speech_utils.c +++ b/apps/app_speech_utils.c @@ -662,7 +662,6 @@ static int speech_background(struct ast_channel *chan, void *data) /* Free the frame we received */ switch (f->frametype) { case AST_FRAME_DTMF: - ast_speech_dtmf(speech, f->subclass); if (dtmf_terminator != '\0' && f->subclass == dtmf_terminator) { done = 1; } else { @@ -702,6 +701,7 @@ static int speech_background(struct ast_channel *chan, void *data) /* We sort of make a results entry */ speech->results = ast_calloc(1, sizeof(*speech->results)); if (speech->results != NULL) { + ast_speech_dtmf(speech, dtmf); speech->results->score = 1000; speech->results->text = ast_strdup(dtmf); speech->results->grammar = ast_strdup("dtmf"); diff --git a/include/asterisk/speech.h b/include/asterisk/speech.h index e4d0c76d5..54e9c69ac 100644 --- a/include/asterisk/speech.h +++ b/include/asterisk/speech.h @@ -88,7 +88,7 @@ struct ast_speech_engine { /*! Write audio to the speech engine */ int (*write)(struct ast_speech *speech, void *data, int len); /*! Signal DTMF was received */ - int (*dtmf)(struct ast_speech *speech, char dtmf); + int (*dtmf)(struct ast_speech *speech, const char *dtmf); /*! Prepare engine to accept audio */ int (*start)(struct ast_speech *speech); /*! Change an engine specific setting */ @@ -137,7 +137,7 @@ int ast_speech_destroy(struct ast_speech *speech); /*! \brief Write audio to the speech engine */ int ast_speech_write(struct ast_speech *speech, void *data, int len); /*! \brief Signal to the engine that DTMF was received */ -int ast_speech_dtmf(struct ast_speech *speech, char dtmf); +int ast_speech_dtmf(struct ast_speech *speech, const char *dtmf); /*! \brief Change an engine specific attribute */ int ast_speech_change(struct ast_speech *speech, char *name, const char *value); /*! \brief Change the type of results we want */ diff --git a/res/res_speech.c b/res/res_speech.c index 82614a50a..497c721ac 100644 --- a/res/res_speech.c +++ b/res/res_speech.c @@ -154,7 +154,7 @@ int ast_speech_write(struct ast_speech *speech, void *data, int len) } /*! \brief Signal to the engine that DTMF was received */ -int ast_speech_dtmf(struct ast_speech *speech, char dtmf) +int ast_speech_dtmf(struct ast_speech *speech, const char *dtmf) { int res = 0; |