Merged revisions 60361 via svnmerge from

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

........
r60361 | file | 2007-04-05 22:14:00 -0300 (Thu, 05 Apr 2007) | 2 lines

Add support for returning different types of results (ie: NBest).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60362 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2007-04-06 01:15:50 +00:00
parent 4f20e43614
commit 4b618442a0
3 changed files with 78 additions and 15 deletions

View File

@@ -37,6 +37,11 @@ extern "C" {
#define AST_SPEECH_STATE_WAIT 2 /* Wait for results to become available */
#define AST_SPEECH_STATE_DONE 3 /* Processing is done */
enum ast_speech_results_type {
AST_SPEECH_RESULTS_TYPE_NORMAL = 0,
AST_SPEECH_RESULTS_TYPE_NBEST,
};
/* Speech structure */
struct ast_speech {
/*! Structure lock */
@@ -53,6 +58,8 @@ struct ast_speech {
void *data;
/*! Cached results */
struct ast_speech_result *results;
/*! Type of results we want */
enum ast_speech_results_type results_type;
/*! Pointer to the engine used by this speech structure */
struct ast_speech_engine *engine;
};
@@ -79,6 +86,8 @@ struct ast_speech_engine {
int (*start)(struct ast_speech *speech);
/*! Change an engine specific setting */
int (*change)(struct ast_speech *speech, char *name, const char *value);
/*! Change the type of results we want back */
int (*change_results_type)(struct ast_speech *speech, enum ast_speech_results_type results_type);
/*! Try to get results */
struct ast_speech_result *(*get)(struct ast_speech *speech);
/*! Accepted formats by the engine */
@@ -92,6 +101,8 @@ struct ast_speech_result {
char *text;
/*! Result score */
int score;
/*! NBest Alternative number if in NBest results type */
int nbest_num;
/*! Matched grammar */
char *grammar;
/*! List information */
@@ -120,6 +131,8 @@ int ast_speech_destroy(struct ast_speech *speech);
int ast_speech_write(struct ast_speech *speech, void *data, int len);
/*! \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 */
int ast_speech_change_results_type(struct ast_speech *speech, enum ast_speech_results_type results_type);
/*! \brief Change state of a speech structure */
int ast_speech_change_state(struct ast_speech *speech, int state);
/*! \brief Register a speech recognition engine */