Fix short message isssue (bug #2723)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-10-26 02:21:43 +00:00
parent 2486f30a41
commit b8a02257a5
2 changed files with 10 additions and 11 deletions

17
app.c
View File

@@ -710,10 +710,12 @@ int ast_play_and_record(struct ast_channel *chan, char *playfile, char *recordfi
for (x=0;x<fmtcnt;x++) { for (x=0;x<fmtcnt;x++) {
if (!others[x]) if (!others[x])
break; break;
if (totalsilence) if (res > 0) {
ast_stream_rewind(others[x], totalsilence-200); if (totalsilence)
else ast_stream_rewind(others[x], totalsilence-200);
ast_stream_rewind(others[x], 200); else
ast_stream_rewind(others[x], 200);
}
ast_truncstream(others[x]); ast_truncstream(others[x]);
ast_closestream(others[x]); ast_closestream(others[x]);
} }
@@ -722,14 +724,11 @@ int ast_play_and_record(struct ast_channel *chan, char *playfile, char *recordfi
ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name); ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
} }
} }
if (outmsg) { if (outmsg > 1) {
if (outmsg > 1) {
/* Let them know recording is stopped */ /* Let them know recording is stopped */
ast_streamfile(chan, "auth-thankyou", chan->language); if(!ast_streamfile(chan, "auth-thankyou", chan->language))
ast_waitstream(chan, ""); ast_waitstream(chan, "");
}
} }
return res; return res;
} }

View File

@@ -4609,7 +4609,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence); cmd = ast_play_and_record(chan, playfile, recordfile, maxtime, fmt, duration, silencethreshold, maxsilence);
if (cmd == -1) if (cmd == -1)
/* User has hung up, no options to give */ /* User has hung up, no options to give */
return res; return cmd;
if (cmd == '0') { if (cmd == '0') {
break; break;
} else if (cmd == '*') { } else if (cmd == '*') {
@@ -4704,7 +4704,7 @@ static int play_record_review(struct ast_channel *chan, char *playfile, char *re
} }
} }
if (outsidecaller) if (outsidecaller)
ast_play_and_wait(chan, "vm-goodbye"); ast_play_and_wait(chan, "vm-goodbye");
if (cmd == 't') if (cmd == 't')
cmd = 0; cmd = 0;
return cmd; return cmd;