[asterisk-dev] res_monitor information
Paulo Garcia
paulo.astdev at gmail.com
Tue Feb 16 13:07:39 CST 2010
Hi,
I'm analyzing the way the Monitor application works in Asterisk 1.4. At
first it seems very simple, however the code in channel.c (__ast_read
function around line 2390):
int jump = chan->outsmpl - chan->insmpl - 4 * f->samples;
if (jump >= 0) {
jump = chan->outsmpl - chan->insmpl;
if (ast_seekstream(chan->monitor->read_stream, jump, SEEK_FORCECUR) == -1)
ast_log(LOG_WARNING, "Failed to perform seek in monitoring read stream,
synchronization between the files may be broken\n");
chan->insmpl += jump + f->samples;
} else
chan->insmpl+= f->samples;
seems confusing to me. What is being done here?
Is it a way to keep the in and out files synchronized? If yes, how does it
work? Is it possible that one file can present chunks of silence (80ms long
for example) if this way of the call doesn't receive samples in the same
rate of the other?
Thanks in advance
Paulo Garcia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20100216/30f0e0fb/attachment.htm
More information about the asterisk-dev
mailing list