diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-04-22 18:51:42 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-04-22 18:51:42 +0000 |
commit | f16a9a480a3e93cb430dbfb664e98291b688332e (patch) | |
tree | a169098453fb9eef271ddbfb1e344b94c7748f0b | |
parent | 3446427fa446c1e305f828bda862e3af1f7f0b99 (diff) |
Make trunking and timestamps palce nicely
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2748 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/chan_iax2.c | 8 | ||||
-rwxr-xr-x | channels/iax2-parser.c | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index bdf83c6ac..fee41ac16 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -4565,6 +4565,14 @@ static int socket_read(int *id, int fd, short events, void *cbdata) f.src = "IAX2"; f.mallocd = 0; f.offset = 0; + f.delivery.tv_sec = peer->rxtrunktime.tv_sec; + f.delivery.tv_usec = peer->rxtrunktime.tv_usec; + f.delivery.tv_sec += ts / 1000; + f.delivery.tv_usec += ts % 1000; + if (f.delivery.tv_usec >= 1000000) { + f.delivery.tv_usec -= 1000000; + f.delivery.tv_sec += 1; + } if (f.datalen && (f.frametype == AST_FRAME_VOICE)) f.samples = get_samples(&f); else diff --git a/channels/iax2-parser.c b/channels/iax2-parser.c index 9d31a8be9..d8d58d60c 100755 --- a/channels/iax2-parser.c +++ b/channels/iax2-parser.c @@ -570,6 +570,7 @@ void iax_frame_wrap(struct iax_frame *fr, struct ast_frame *f) fr->af.samples = f->samples; fr->af.offset = AST_FRIENDLY_OFFSET; fr->af.src = f->src; + fr->af.delivery = f->delivery; fr->af.data = fr->afdata; if (fr->af.datalen) memcpy(fr->af.data, f->data, fr->af.datalen); |