From: Joshua Colp Date: Mon, 26 Mar 2007 19:35:24 +0000 (+0000) Subject: Merged revisions 59223 via svnmerge from X-Git-Tag: 1.6.0-beta1~3^2~2959 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e2c9d8b43b611231d4b37328ccb076841068765a;p=thirdparty%2Fasterisk.git Merged revisions 59223 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r59223 | file | 2007-03-26 16:34:14 -0300 (Mon, 26 Mar 2007) | 2 lines Add ability to specify no timeout. This means as soon as the prompt is done playing it moves on to the next priority. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59224 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_speech_utils.c b/apps/app_speech_utils.c index 3342d4c31c..b430a4094e 100644 --- a/apps/app_speech_utils.c +++ b/apps/app_speech_utils.c @@ -544,8 +544,11 @@ static int speech_background(struct ast_channel *chan, void *data) if (argc > 0) { /* Yay sound file */ filename_tmp = ast_strdupa(argv[0]); - if (argv[1] != NULL) - timeout = atoi(argv[1]); + if (!ast_strlen_zero(argv[1])) { + if ((timeout = atoi(argv[1])) == 0) + timeout = -1; + } else + timeout = 0; } /* Before we go into waiting for stuff... make sure the structure is ready, if not - start it again */ @@ -611,7 +614,13 @@ static int speech_background(struct ast_channel *chan, void *data) /* If audio playback has stopped do a check for timeout purposes */ if (chan->streamid == -1 && chan->timingfunc == NULL) ast_stopstream(chan); - if (!quieted && chan->stream == NULL && timeout > 0 && started == 0 && !filename_tmp) { + if (!quieted && chan->stream == NULL && timeout && started == 0 && !filename_tmp) { + if (timeout == -1) { + done = 1; + if (f) + ast_frfree(f); + break; + } time(&start); started = 1; }