Skip to content
Snippets Groups Projects
Commit 3252cd2e authored by Tilghman Lesher's avatar Tilghman Lesher
Browse files

Merged revisions 179468 via svnmerge from

https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r179468 | tilghman | 2009-03-02 17:09:01 -0600 (Mon, 02 Mar 2009) | 10 lines
  
  When ending a recording with silence detection, remember to reduce the duration.
  The end of the recording is correspondingly trimmed, but the duration was not
  trimmed by the number of seconds trimmed, so the saved duration was necessarily
  longer than the actual soundfile duration.
  (closes issue #14406)
   Reported by: sasargen
   Patches: 
         20090226__bug14406.diff.txt uploaded by tilghman (license 14)
   Tested by: sasargen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@179469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent d6652e97
Branches
Tags
No related merge requests found
...@@ -840,8 +840,16 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile, ...@@ -840,8 +840,16 @@ static int __ast_play_and_record(struct ast_channel *chan, const char *playfile,
* off the recording. However, if we ended with '#', we don't want * off the recording. However, if we ended with '#', we don't want
* to trim ANY part of the recording. * to trim ANY part of the recording.
*/ */
if (res > 0 && totalsilence) if (res > 0 && totalsilence) {
ast_stream_rewind(others[x], totalsilence - 200); ast_stream_rewind(others[x], totalsilence - 200);
/* Reduce duration by a corresponding amount */
if (x == 0 && *duration) {
*duration -= (totalsilence - 200) / 1000;
if (*duration < 0) {
*duration = 0;
}
}
}
ast_truncstream(others[x]); ast_truncstream(others[x]);
ast_closestream(others[x]); ast_closestream(others[x]);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment