TT#14008 fix 64-bit division on 32-bit archs

closes #1304

Change-Id: Id72a67c01c9a503b56eb4f99db23a4550a421728
(cherry picked from commit d35c7981cb)
mr9.5.2
Richard Fuchs 4 years ago
parent 3be3baa209
commit cedc3b2218

@ -33,6 +33,7 @@
#include <linux/netfilter_ipv6.h>
#include <linux/netfilter/x_tables.h>
#include <linux/crc32.h>
#include <linux/math64.h>
#ifndef __RE_EXTERNAL
#include <linux/netfilter/xt_RTPENGINE.h>
#else
@ -4196,7 +4197,7 @@ static void rtp_stats(struct rtpengine_target *g, struct rtp_parsed *rtp, s64 ar
// jitter
// RFC 3550 A.8
clockrate = g->target.clock_rates[pt_idx];
transit = (((arrival_time / 1000) * clockrate) / 1000) - ts;
transit = ((uint32_t) (div64_s64(arrival_time, 1000) * clockrate) / 1000) - ts;
d = 0;
if (s->transit)
d = transit - s->transit;
@ -4417,7 +4418,7 @@ no_intercept:
g->stats.delay_avg = g->stats.delay_avg * (atomic64_read(&g->stats.packets)-1);
g->stats.delay_avg = g->stats.delay_avg + delay;
g->stats.delay_avg = g->stats.delay_avg / atomic64_read(&g->stats.packets);
g->stats.delay_avg = div64_u64(g->stats.delay_avg, atomic64_read(&g->stats.packets));
}
#endif
}

Loading…
Cancel
Save