diff options
author | Matthew Jordan <mjordan@digium.com> | 2014-12-06 18:16:18 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2014-12-06 18:16:18 +0000 |
commit | 7fd1227202a9f04e5c11817840cf637fe568c168 (patch) | |
tree | 57c71fc73f79a92b8a32bb3e1eb80ad90bf20bfe | |
parent | 0321d00413660ae5330f50525260248c319e01e1 (diff) |
res/res_monitor: Reset in/out sample counts on Monitor start
When repeatedly starting/stopping a Monitor on a channel, the accumulated
in/out sample counts are never reset to 0. This can cause inadvertent jumps
in the recordings, as the code in the channel core will determine incorrectly
that a jump in the recorded file position should occur. Setting the sample
counts to 0 simply reflects the initial state a Monitor should be in when it
is started, as this is the initial count that would be on the channels at that
time.
ASTERISK-24573 #close
Reported by: Nuno Borges
patches:
24573.patch uploaded by Nuno Borges (License 6116)
........
Merged revisions 429031 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 429032 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@429033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | res/res_monitor.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/res/res_monitor.c b/res/res_monitor.c index 7f1fa4116..872f565f0 100644 --- a/res/res_monitor.c +++ b/res/res_monitor.c @@ -402,6 +402,8 @@ int AST_OPTIONAL_API_NAME(ast_monitor_start)(struct ast_channel *chan, const cha } else monitor->write_stream = NULL; + ast_channel_insmpl_set(chan, 0); + ast_channel_outsmpl_set(chan, 0); ast_channel_monitor_set(chan, monitor); ast_monitor_set_state(chan, AST_MONITOR_RUNNING); /* so we know this call has been monitored in case we need to bill for it or something */ |