=== main/app.c ================================================================== --- main/app.c (revision 5727) +++ main/app.c (local) @@ -678,6 +678,7 @@ struct ast_dsp *sildet = NULL; /* silence detector dsp */ int totalsilence = 0; int dspsilence = 0; + int olddspsilence = 0; int rfmt = 0; struct ast_silence_generator *silgen = NULL; char prependfile[80]; @@ -804,8 +805,11 @@ if (maxsilence > 0) { dspsilence = 0; ast_dsp_silence(sildet, f, &dspsilence); - totalsilence += dspsilence; + if (olddspsilence > dspsilence) + totalsilence += olddspsilence; + olddspsilence = dspsilence; + if (dspsilence > maxsilence) { /* Ended happily with silence */ ast_verb(3, "Recording automatically stopped after a silence of %d seconds\n", dspsilence/1000);