MT#55283 push ssrc_stats to kernel

Unused at this point

Change-Id: I384ca6a64cd5a3b26949baafa11ff4cd2be128d8
pull/1826/head
Richard Fuchs 1 year ago
parent e8982c3cf9
commit 1ca584838a

@ -1488,8 +1488,10 @@ static const char *kernelize_one(struct rtpengine_target_info *reti, GQueue *out
reti->track_ssrc = 1;
for (unsigned int u = 0; u < G_N_ELEMENTS(stream->ssrc_in); u++) {
if (stream->ssrc_in[u])
if (stream->ssrc_in[u]) {
reti->ssrc[u] = htonl(stream->ssrc_in[u]->parent->h.ssrc);
reti->ssrc_stats[u] = stream->ssrc_in[u]->stats;
}
}
if (proto_is_rtp(media->protocol)) {

@ -2409,6 +2409,7 @@ static int table_new_target(struct rtpengine_table *t, struct rtpengine_target_i
struct interface_stats_block *iface_stats;
struct stream_stats *stats;
struct rtp_stats *pt_stats[RTPE_NUM_PAYLOAD_TYPES];
struct ssrc_stats *ssrc_stats[RTPE_NUM_SSRC_TRACKING];
/* validation */
@ -2444,6 +2445,15 @@ static int table_new_target(struct rtpengine_table *t, struct rtpengine_target_i
if (!pt_stats[u])
return -EFAULT;
}
for (u = 0; u < RTPE_NUM_SSRC_TRACKING; u++) {
if (!i->ssrc[u])
break;
if (!i->ssrc_stats[u])
return -EFAULT;
ssrc_stats[u] = shm_map_resolve(i->ssrc_stats[u], sizeof(*ssrc_stats[u]));
if (!ssrc_stats[u])
return -EFAULT;
}
DBG("Creating new target\n");
@ -2462,8 +2472,10 @@ static int table_new_target(struct rtpengine_table *t, struct rtpengine_target_i
crypto_context_init(&g->decrypt_rtp, &g->target.decrypt);
crypto_context_init(&g->decrypt_rtcp, &g->target.decrypt);
spin_lock_init(&g->ssrc_stats_lock);
for (u = 0; u < RTPE_NUM_SSRC_TRACKING; u++)
for (u = 0; u < RTPE_NUM_SSRC_TRACKING; u++) {
g->ssrc_stats[u].lost_bits = -1;
g->target.ssrc_stats[u] = ssrc_stats[u];
}
rwlock_init(&g->outputs_lock);
g->target.iface_stats = iface_stats;
g->target.stats = stats;

@ -92,6 +92,7 @@ struct rtpengine_target_info {
struct rtpengine_srtp decrypt;
uint32_t ssrc[RTPE_NUM_SSRC_TRACKING]; // Expose the SSRC to userspace when we resync.
struct ssrc_stats *ssrc_stats[RTPE_NUM_SSRC_TRACKING];
struct rtp_stats *pt_stats[RTPE_NUM_PAYLOAD_TYPES]; // must be sorted by PT
unsigned int num_payload_types;

Loading…
Cancel
Save