Skip to content
Snippets Groups Projects
Commit 1d073289 authored by Joshua Colp's avatar Joshua Colp
Browse files

Merged revisions 77831 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77831 | file | 2007-07-31 13:17:09 -0300 (Tue, 31 Jul 2007) | 2 lines

Add a flag to the speech API that allows an engine to set whether it received results or not.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 35499c7f
Branches
Tags
No related merge requests found
...@@ -29,8 +29,9 @@ extern "C" { ...@@ -29,8 +29,9 @@ extern "C" {
/* Speech structure flags */ /* Speech structure flags */
enum ast_speech_flags { enum ast_speech_flags {
AST_SPEECH_QUIET = (1 << 0), /* Quiet down output... they are talking */ AST_SPEECH_QUIET = (1 << 0), /* Quiet down output... they are talking */
AST_SPEECH_SPOKE = (1 << 1), /* Speaker spoke! */ AST_SPEECH_SPOKE = (1 << 1), /* Speaker spoke! */
AST_SPEECH_HAVE_RESULTS = (1 << 2), /* Results are present */
}; };
/* Speech structure states - in order of expected change */ /* Speech structure states - in order of expected change */
......
...@@ -92,7 +92,7 @@ int ast_speech_grammar_unload(struct ast_speech *speech, char *grammar_name) ...@@ -92,7 +92,7 @@ int ast_speech_grammar_unload(struct ast_speech *speech, char *grammar_name)
/*! \brief Return the results of a recognition from the speech structure */ /*! \brief Return the results of a recognition from the speech structure */
struct ast_speech_result *ast_speech_results_get(struct ast_speech *speech) struct ast_speech_result *ast_speech_results_get(struct ast_speech *speech)
{ {
return (speech->engine->get ? speech->engine->get(speech) : NULL); return ((speech->engine->get && ast_test_flag(speech, AST_SPEECH_HAVE_RESULTS)) ? speech->engine->get(speech) : NULL);
} }
/*! \brief Free a list of results */ /*! \brief Free a list of results */
...@@ -128,6 +128,7 @@ void ast_speech_start(struct ast_speech *speech) ...@@ -128,6 +128,7 @@ void ast_speech_start(struct ast_speech *speech)
/* Clear any flags that may affect things */ /* Clear any flags that may affect things */
ast_clear_flag(speech, AST_SPEECH_SPOKE); ast_clear_flag(speech, AST_SPEECH_SPOKE);
ast_clear_flag(speech, AST_SPEECH_QUIET); ast_clear_flag(speech, AST_SPEECH_QUIET);
ast_clear_flag(speech, AST_SPEECH_HAVE_RESULTS);
/* If results are on the structure, free them since we are starting again */ /* If results are on the structure, free them since we are starting again */
if (speech->results) { if (speech->results) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment