From: Matthew Jordan Date: Sat, 6 Dec 2014 18:15:20 +0000 (+0000) Subject: res/res_monitor: Reset in/out sample counts on Monitor start X-Git-Tag: 11.15.0-rc1~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a934e007f1b295bf71ca3fa7e6af287d8c2bf18;p=thirdparty%2Fasterisk.git 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) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@429031 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_monitor.c b/res/res_monitor.c index b86ea109e3..76c43e1a8c 100644 --- a/res/res_monitor.c +++ b/res/res_monitor.c @@ -388,6 +388,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 */