aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_speech_utils.c
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-03-26 19:34:14 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-03-26 19:34:14 +0000
commit60c4735aa8e681a659cbc5b0f6fd2d4e21774c7d (patch)
tree4b0f77d215fb8921c5075150943d1f79806e9b40 /apps/app_speech_utils.c
parent23b6f866504ecd1c88b4e1f2134d01c7bc9608ff (diff)
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: http://svn.digium.com/svn/asterisk/branches/1.4@59223 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_speech_utils.c')
-rw-r--r--apps/app_speech_utils.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/apps/app_speech_utils.c b/apps/app_speech_utils.c
index 73fe3ce13..92b3dcd45 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;
}