From 3224ac07c917db1c4a92a1726aafcb0dc5b1c920 Mon Sep 17 00:00:00 2001
From: Morten Tryfoss <morten@tryfoss.no>
Date: Tue, 21 May 2019 18:29:05 +0200
Subject: [PATCH] res_rtp_asterisk: timestamp should be unsigned instead of
 signed int

Using timestamp with signed int will cause timestamps exceeding max value
to be negative.
This causes the jitterbuffer to do passthrough of the packet.

ASTERISK-28421

Change-Id: I9dabd0718180f2978856c50f43aac4e52dc3cde9
---
 res/res_rtp_asterisk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index c4df6a40fd..ee1e1c4948 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -6728,7 +6728,8 @@ static struct ast_frame *ast_rtp_interpret(struct ast_rtp_instance *instance, st
 	unsigned int *rtpheader = (unsigned int*)(read_area);
 	struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
 	struct ast_rtp_instance *instance1;
-	int res = length, hdrlen = 12, seqno, timestamp, payloadtype, padding, mark, ext, cc;
+	int res = length, hdrlen = 12, seqno, payloadtype, padding, mark, ext, cc;
+	unsigned int timestamp;
 	RAII_VAR(struct ast_rtp_payload_type *, payload, NULL, ao2_cleanup);
 	struct frame_list frames;
 
-- 
GitLab