diff include/endp.h @ 29:3e01a71b7c7c

implement RTCP Rx
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 08 Jul 2024 02:55:32 +0000
parents a0b89c028053
children 9fd693f234f8
line wrap: on
line diff
--- a/include/endp.h	Mon Jul 08 01:59:49 2024 +0000
+++ b/include/endp.h	Mon Jul 08 02:55:32 2024 +0000
@@ -11,6 +11,7 @@
 
 #include <osmocom/core/osmo_io.h>
 #include <osmocom/core/socket.h>
+#include <osmocom/core/timer.h>
 
 #include <themwi/rtp/twjit.h>
 
@@ -22,11 +23,24 @@
 	bool restart;
 };
 
+struct twrtp_endp_rtcp_rx {
+	uint32_t sr_ssrc;
+	uint16_t sr_ntp_sec;
+	uint16_t sr_ntp_fract;
+	struct timespec sr_rx_time;
+	uint32_t rr_lost_word;
+	uint32_t rr_jitter;
+	bool got_sr;
+	bool got_rr;
+};
+
 struct twrtp_endp_stats {
 	uint32_t rx_rtp_pkt;
 	uint32_t rx_rtp_badsrc;
 	uint32_t rx_rtcp_pkt;
 	uint32_t rx_rtcp_badsrc;
+	uint32_t rx_rtcp_invalid;
+	uint32_t rx_rtcp_wrong_ssrc;
 	uint32_t tx_rtp_pkt;
 	uint32_t tx_rtp_bytes;
 	uint32_t tx_rtcp_pkt;
@@ -42,7 +56,7 @@
 	struct osmo_sockaddr rtcp_remote;
 	/* Rx and Tx state */
 	struct twrtp_jibuf_inst *twjit;
-	/* RTCP Rx structure to be inserted here */
+	struct twrtp_endp_rtcp_rx rtcp_rx;
 	struct twrtp_endp_tx tx;
 	/* always have to have stats */
 	struct twrtp_endp_stats stats;