44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
#ifndef _rtp_member_h_
|
|
#define _rtp_member_h_
|
|
|
|
#include "rtcp-header.h"
|
|
|
|
#define RTP_PROBATION 2
|
|
#define RTP_DROPOUT 500
|
|
#define RTP_MISORDER 100
|
|
|
|
struct rtp_member
|
|
{
|
|
int32_t ref;
|
|
|
|
uint32_t ssrc; // ssrc == rtcp_sr.ssrc == rtcp_rb.ssrc
|
|
rtcp_sr_t rtcp_sr;
|
|
//rtcp_rb_t rtcp_rb;
|
|
rtcp_sdes_item_t sdes[9]; // SDES item
|
|
|
|
uint64_t rtcp_clock; // last RTCP SR/RR packet clock(local time)
|
|
|
|
uint16_t rtp_seq; // last send/received RTP packet RTP sequence(in packet header)
|
|
uint32_t rtp_timestamp; // last send/received RTP packet RTP timestamp(in packet header)
|
|
uint64_t rtp_clock; // last send/received RTP packet clock(local time)
|
|
uint32_t rtp_packets; // send/received RTP packet count(include duplicate, late)
|
|
uint64_t rtp_bytes; // send/received RTP octet count
|
|
|
|
double jitter;
|
|
uint32_t rtp_packets0; // last SR received RTP packets
|
|
uint32_t rtp_expected0; // last SR expect RTP sequence number
|
|
|
|
uint16_t rtp_probation;
|
|
uint16_t rtp_seq_base; // init sequence number
|
|
uint32_t rtp_seq_bad; // bad sequence number
|
|
uint32_t rtp_seq_cycles; // high extension sequence number
|
|
};
|
|
|
|
struct rtp_member* rtp_member_create(uint32_t ssrc);
|
|
void rtp_member_addref(struct rtp_member *member);
|
|
void rtp_member_release(struct rtp_member *member);
|
|
|
|
int rtp_member_setvalue(struct rtp_member *member, int item, const uint8_t* data, int bytes);
|
|
|
|
#endif /* !_rtp_member_h_ */
|