From: Joshua Colp Date: Wed, 11 Jul 2007 16:10:03 +0000 (+0000) Subject: Can't forget to remember what format is in use for writing. X-Git-Tag: 1.6.0-beta1~3^2~2091 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b314d6ee08b351955f579f01ca5eda1730ab8641;p=thirdparty%2Fasterisk.git Can't forget to remember what format is in use for writing. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74560 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_speech.c b/res/res_speech.c index fdcf322a6b..b902f40d7f 100644 --- a/res/res_speech.c +++ b/res/res_speech.c @@ -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);