23 #include <ortp/port.h>
24 #include <ortp/str_utils.h>
27 #define UDP_MAX_SIZE 1500
28 #define RTP_FIXED_HEADER_SIZE 12
29 #define RTP_DEFAULT_JITTER_TIME 80
30 #define RTP_DEFAULT_MULTICAST_TTL 5
31 #define RTP_DEFAULT_MULTICAST_LOOPBACK 0
32 #define RTP_DEFAULT_DSCP 0x00
56 #define ONE_BYTE_EXTENSION_ID 0xBEDE
57 #define ONE_BYTE_EXTENSION_SIZE 1
58 #define ONE_BYTE_EXTENSION_RESERVED_ID 15
59 #define ONE_BYTE_EXTENSION_PADDING_ID 0
61 #define RTPEXT_SSRCAUDIOLEVEL 1
62 #define RTPEXT_SDESMID 2
63 #define RTPEXT_ABSOLUTESENDTIME 3
71 uint64_t unavaillable;
73 uint64_t cum_packet_loss;
78 uint64_t voip_metrics_loss_count;
79 uint64_t voip_metrics_discard_count;
80 uint64_t voip_metrics_pkt_received_count;
82 uint64_t voip_metrics_lost_within_current_burst;
95 uint64_t burst_length;
97 uint64_t frameduration_ms;
102 double cur_packet_loss_fraction;
103 uint16_t djb_nominal_delay;
104 uint16_t djb_max_delay;
105 uint16_t djb_nominal_delay_hwmark;
106 uint16_t djb_max_delay_lwmark;
108 double remote_cur_packet_loss_fraction;
111 #define RTP_TIMESTAMP_IS_NEWER_THAN(ts1, ts2) ((uint32_t)((uint32_t)(ts1) - (uint32_t)(ts2)) < (UINT32_C(1) << 31))
113 #define RTP_TIMESTAMP_IS_STRICTLY_NEWER_THAN(ts1, ts2) (((uint32_t)((uint32_t)(ts1) - (uint32_t)(ts2)) < (UINT32_C(1) << 31)) && (ts1) != (ts2))
115 #define TIME_IS_NEWER_THAN(t1, t2) RTP_TIMESTAMP_IS_NEWER_THAN(t1, t2)
117 #define TIME_IS_STRICTLY_NEWER_THAN(t1, t2) RTP_TIMESTAMP_IS_STRICTLY_NEWER_THAN(t1, t2)
125 #define rtp_set_markbit(mp, value) ((rtp_header_t *) ((mp)->b_rptr))->markbit = (value)
126 #define rtp_set_seqnumber(mp, seq) ((rtp_header_t *) ((mp)->b_rptr))->seq_number = (seq)
127 #define rtp_set_timestamp(mp, ts) ((rtp_header_t *) ((mp)->b_rptr))->timestamp = (ts)
128 #define rtp_set_ssrc(mp, _ssrc) ((rtp_header_t *) ((mp)->b_rptr))->ssrc = (_ssrc)
129 void rtp_add_csrc(
mblk_t *mp, uint32_t csrc);
130 #define rtp_set_payload_type(mp, pt) ((rtp_header_t *) ((mp)->b_rptr))->paytype = (pt)
131 #define rtp_set_extbit(mp, value) ((rtp_header_t *) ((mp)->b_rptr))->extbit = (value)
133 #define rtp_get_markbit(mp) (((rtp_header_t *) ((mp)->b_rptr))->markbit)
134 #define rtp_get_timestamp(mp) (((rtp_header_t *) ((mp)->b_rptr))->timestamp)
135 #define rtp_get_seqnumber(mp) (((rtp_header_t *) ((mp)->b_rptr))->seq_number)
136 #define rtp_get_payload_type(mp) (((rtp_header_t *) ((mp)->b_rptr))->paytype)
137 #define rtp_get_ssrc(mp) (((rtp_header_t *) ((mp)->b_rptr))->ssrc)
138 #define rtp_get_cc(mp) (((rtp_header_t *) ((mp)->b_rptr))->cc)
139 #define rtp_get_csrc(mp, idx) (((rtp_header_t *) ((mp)->b_rptr))->csrc[idx])
140 #define rtp_get_extbit(mp) (((rtp_header_t *) ((mp)->b_rptr))->extbit)
141 #define rtp_get_padbit(mp) (((rtp_header_t *) ((mp)->b_rptr))->padbit)
143 int rtp_get_payload(
mblk_t *packet,
unsigned char **start);
Definition: str_utils.h:25