view include/rtcp_defs.h @ 42:334d883b96ba

twrtp_jibuf_create: make config argument const While this config structure is not a constant in the mathematical sense of the term (it is expected that vty config changes may happen while twjit instance is alive), twjit functions never write to it, only read, hence it is 'const' in the not-quite-mathematical C-standard sense.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 20 Dec 2024 22:47:20 +0000
parents 9fd693f234f8
children
line wrap: on
line source

/*
 * Some definitions for RTCP, just enough to implement the subset
 * planned for libtwrtp.
 */

#pragma once

#include <stdint.h>

struct rtcp_sr_rr_hdr {
	uint8_t		v_p_rc;
	uint8_t		pt;
	uint16_t	len;
	uint32_t	ssrc;
};

struct rtcp_sr_block {
	uint32_t	ntp_sec;
	uint32_t	ntp_fract;
	uint32_t	rtp_ts;
	uint32_t	pkt_count;
	uint32_t	octet_count;
};

struct rtcp_rr_block {
	uint32_t	ssrc;
	uint32_t	lost_word;
	uint32_t	max_seq_ext;
	uint32_t	jitter;
	uint16_t	lsr_sec;
	uint16_t	lsr_fract;
	uint16_t	dlsr_sec;
	uint16_t	dlsr_fract;
};

#define	RTCP_PT_SR	200
#define	RTCP_PT_RR	201
#define	RTCP_PT_SDES	202
#define	RTCP_PT_BYE	203
#define	RTCP_PT_APP	204

#define	SDES_ITEM_CNAME	1
#define	SDES_ITEM_NAME	2
#define	SDES_ITEM_EMAIL	3
#define	SDES_ITEM_PHONE	4
#define	SDES_ITEM_LOC	5
#define	SDES_ITEM_TOOL	6
#define	SDES_ITEM_NOTE	7
#define	SDES_ITEM_PRIV	8