From 9351aa3f0e2c45db7c2379a94688531b6e674765 Mon Sep 17 00:00:00 2001 From: Morten Tryfoss 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; -- 2.47.2