From 27ce6148ce39ad9adb121312172f20c8546fac37 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 15 Apr 2025 08:07:25 -0400 Subject: [PATCH] MT#55283 convert packet_stream_last_packet to int64_t Change-Id: I33079b6fbe34e291b2b3d6ec00816db99b69ebf4 --- daemon/call.c | 6 +++--- daemon/call_interfaces.c | 6 +++--- daemon/cdr.c | 4 ++-- include/call.h | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/daemon/call.c b/daemon/call.c index 9da02016f..09aa720ca 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -182,7 +182,7 @@ static void call_timer_iterator(call_t *c, struct iterator_helper *hlp) { for (__auto_type it = c->streams.head; it; it = it->next) { ps = it->data; - timestamp = packet_stream_last_packet(ps); + timestamp = packet_stream_last_packet(ps) / 1000000L; if (!ps->media) goto next; @@ -209,7 +209,7 @@ static void call_timer_iterator(call_t *c, struct iterator_helper *hlp) { hlp->user_streams++; // user activity } - bool active_media = (timeval_from_us(rtpe_now).tv_sec - packet_stream_last_packet(ps) < 1); + bool active_media = (rtpe_now - packet_stream_last_packet(ps) < 1000000LL); if (active_media) CALL_CLEAR(sfd->call, FOREIGN_MEDIA); @@ -4175,7 +4175,7 @@ void call_destroy(call_t *c) { atomic64_get_na(&ps->stats_in->packets), atomic64_get_na(&ps->stats_in->bytes), atomic64_get_na(&ps->stats_in->errors), - timeval_from_us(rtpe_now).tv_sec - packet_stream_last_packet(ps), + (rtpe_now - packet_stream_last_packet(ps)) / 1000000L, atomic64_get_na(&ps->stats_out->packets), atomic64_get_na(&ps->stats_out->bytes), atomic64_get_na(&ps->stats_out->errors)); diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index bf96d2fc6..660f20a0e 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -2796,7 +2796,7 @@ static void ng_stats_stream(ng_command_ctx_t *ctx, parser_arg list, const struct if (ps->crypto.params.crypto_suite) parser->dict_add_string(dict, "crypto suite", ps->crypto.params.crypto_suite->name); - parser->dict_add_int(dict, "last packet", packet_stream_last_packet(ps)); + parser->dict_add_int(dict, "last packet", packet_stream_last_packet(ps) / 1000000LL); parser->dict_add_int(dict, "last kernel packet", atomic64_get_na(&ps->stats_in->last_packet_us) / 1000000LL); parser->dict_add_int(dict, "last user packet", atomic64_get_na(&ps->last_packet_us) / 1000000LL); @@ -2818,8 +2818,8 @@ static void ng_stats_stream(ng_command_ctx_t *ctx, parser_arg list, const struct ng_stats_stream_ssrc(parser, dict, ps->ssrc_out, "egress SSRCs"); stats: - if (totals->last_packet_us < packet_stream_last_packet(ps) * 1000000LL) - totals->last_packet_us = packet_stream_last_packet(ps) * 1000000LL; + if (totals->last_packet_us < packet_stream_last_packet(ps)) + totals->last_packet_us = packet_stream_last_packet(ps); /* XXX distinguish between input and output */ s = &totals->totals[0]; diff --git a/daemon/cdr.c b/daemon/cdr.c index 3ec4e9088..8206b4837 100644 --- a/daemon/cdr.c +++ b/daemon/cdr.c @@ -143,7 +143,7 @@ void cdr_update_entry(call_t * c) { cdrlinecnt, md->index, protocol, atomic64_get_na(&ps->stats_in->errors), cdrlinecnt, md->index, protocol, - packet_stream_last_packet(ps), + packet_stream_last_packet(ps) / 1000000L, cdrlinecnt, md->index, protocol, atomic_get_na(&ps->stats_in->tos)); } else { @@ -168,7 +168,7 @@ void cdr_update_entry(call_t * c) { cdrlinecnt, md->index, protocol, atomic64_get_na(&ps->stats_in->errors), cdrlinecnt, md->index, protocol, - packet_stream_last_packet(ps), + packet_stream_last_packet(ps) / 1000000L, cdrlinecnt, md->index, protocol, atomic_get_na(&ps->stats_in->tos)); } diff --git a/include/call.h b/include/call.h index aab927ca2..524e995ab 100644 --- a/include/call.h +++ b/include/call.h @@ -467,9 +467,9 @@ struct packet_stream { atomic64 ps_flags; }; -INLINE uint64_t packet_stream_last_packet(const struct packet_stream *ps) { - uint64_t lp1 = atomic64_get_na(&ps->last_packet_us) / 1000000L; - uint64_t lp2 = atomic64_get_na(&ps->stats_in->last_packet_us) / 1000000L; +INLINE int64_t packet_stream_last_packet(const struct packet_stream *ps) { + uint64_t lp1 = atomic64_get_na(&ps->last_packet_us); + uint64_t lp2 = atomic64_get_na(&ps->stats_in->last_packet_us); return MAX(lp1, lp2); }