From 44b98afdcd91de39c72464471e4d65f8929fbf74 Mon Sep 17 00:00:00 2001 From: BJ Weschke Date: Tue, 11 Apr 2006 01:12:13 +0000 Subject: Merged revisions 19008 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r19008 | bweschke | 2006-04-10 20:05:01 -0500 (Mon, 10 Apr 2006) | 3 lines When using the silence detector in ast_play_and_record() and ast_play_and_prepend(), the truncation code never gets called to remove the detected silence, because the value of res is zero when control gets to that point. #6903 w/some mods (softins) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19009 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- app.c | 6 ++---- apps/app_voicemail.c | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app.c b/app.c index e6c7f4625..bdd76ce84 100644 --- a/app.c +++ b/app.c @@ -552,7 +552,6 @@ int ast_play_and_record(struct ast_channel *chan, const char *playfile, const ch struct ast_dsp *sildet=NULL; /* silence detector dsp */ int totalsilence = 0; int dspsilence = 0; - int gotsilence = 0; /* did we timeout for silence? */ int rfmt=0; struct ast_silence_generator *silgen = NULL; @@ -675,7 +674,7 @@ int ast_play_and_record(struct ast_channel *chan, const char *playfile, const ch if (option_verbose > 2) ast_verbose( VERBOSE_PREFIX_3 "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000); ast_frfree(f); - gotsilence = 1; + res = 'S'; outmsg=2; break; } @@ -779,7 +778,6 @@ int ast_play_and_prepend(struct ast_channel *chan, char *playfile, char *recordf struct ast_dsp *sildet; /* silence detector dsp */ int totalsilence = 0; int dspsilence = 0; - int gotsilence = 0; /* did we timeout for silence? */ int rfmt=0; char prependfile[80]; @@ -898,7 +896,7 @@ int ast_play_and_prepend(struct ast_channel *chan, char *playfile, char *recordf if (option_verbose > 2) ast_verbose( VERBOSE_PREFIX_3 "Recording automatically stopped after a silence of %d seconds\n", totalsilence/1000); ast_frfree(f); - gotsilence = 1; + res = 'S'; outmsg=2; break; } diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c index e44323d18..ed9d3622c 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -3294,7 +3294,7 @@ static int vm_forwardoptions(struct ast_channel *chan, struct ast_vm_user *vmu, cmd = 't'; } } - if (cmd == 't') + if (cmd == 't' || cmd == 'S') cmd = 0; return cmd; } -- cgit v1.2.3