rtptwcc: add payloadtype to RTPTWCCPacket
authorKnut Inge Hvidsten <knut.hvidsten@pexip.com>
Fri, 26 Mar 2021 10:57:42 +0000 (11:57 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 25 Aug 2021 08:36:06 +0000 (08:36 +0000)
The consumer of the stats can then separate between different media-types,
and do individual stats for each of them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/927>

gst/rtpmanager/rtpstats.c
gst/rtpmanager/rtptwcc.c
gst/rtpmanager/rtptwcc.h

index 45fff37..0f35046 100644 (file)
@@ -484,6 +484,7 @@ rtp_twcc_stats_get_packets_structure (GArray * twcc_packets)
         "seqnum", G_TYPE_UINT, pkt->seqnum,
         "local-ts", G_TYPE_UINT64, pkt->local_ts,
         "remote-ts", G_TYPE_UINT64, pkt->remote_ts,
+        "payload-type", G_TYPE_UCHAR, pkt->pt,
         "size", G_TYPE_UINT, pkt->size,
         "lost", G_TYPE_BOOLEAN, pkt->status == RTP_TWCC_PACKET_STATUS_NOT_RECV,
         NULL);
index 47cf8ae..bcb4fc0 100644 (file)
@@ -65,6 +65,7 @@ typedef struct
   GstClockTime socket_ts;
   GstClockTime remote_ts;
   guint16 seqnum;
+  guint8 pt;
   guint size;
   gboolean lost;
 } SentPacket;
@@ -842,6 +843,7 @@ sent_packet_init (SentPacket * packet, guint16 seqnum, RTPPacketInfo * pinfo)
   packet->seqnum = seqnum;
   packet->ts = pinfo->running_time;
   packet->size = pinfo->payload_len;
+  packet->pt = pinfo->pt;
   packet->remote_ts = GST_CLOCK_TIME_NONE;
   packet->socket_ts = GST_CLOCK_TIME_NONE;
   packet->lost = FALSE;
@@ -1095,6 +1097,7 @@ rtp_twcc_manager_parse_fci (RTPTWCCManager * twcc,
           pkt->local_ts = found->ts;
         }
         pkt->size = found->size;
+        pkt->pt = found->pt;
 
         GST_LOG ("matching pkt: #%u with local_ts: %" GST_TIME_FORMAT
             " size: %u", pkt->seqnum, GST_TIME_ARGS (pkt->local_ts), pkt->size);
index 79b5687..a826e9a 100644 (file)
@@ -49,6 +49,7 @@ struct _RTPTWCCPacket
   RTPTWCCPacketStatus status;
   guint16 seqnum;
   guint size;
+  guint8 pt;
 };
 
 RTPTWCCManager * rtp_twcc_manager_new (guint mtu);