Can't forget to remember what format is in use for writing.
authorJoshua Colp <jcolp@digium.com>
Wed, 11 Jul 2007 16:10:03 +0000 (16:10 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 11 Jul 2007 16:10:03 +0000 (16:10 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74560 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_speech.c

index fdcf322..b902f40 100644 (file)
@@ -168,6 +168,10 @@ struct ast_speech *ast_speech_new(char *engine_name, int format)
        if (!(engine = find_engine(engine_name)))
                return NULL;
 
+       /* Make sure the requested format fits */
+       if (!(engine->formats & format))
+               return NULL;
+
        /* Allocate our own speech structure, and try to allocate a structure from the engine too */
        if (!(new_speech = ast_calloc(1, sizeof(*new_speech))))
                return NULL;
@@ -181,6 +185,9 @@ struct ast_speech *ast_speech_new(char *engine_name, int format)
        /* Copy over our engine pointer */
        new_speech->engine = engine;
 
+       /* Can't forget the format audio is going to be in */
+       new_speech->format = format;
+
        /* We are not ready to accept audio yet */
        ast_speech_change_state(new_speech, AST_SPEECH_STATE_NOT_READY);