diff --git a/ietf/rtcp.h b/ietf/rtcp.h index efad81c..271de61 100644 --- a/ietf/rtcp.h +++ b/ietf/rtcp.h @@ -20,6 +20,11 @@ static inline void rtcp_set_pt(uint8_t *p_rtcp, uint8_t pt) p_rtcp[1] = pt; } +static inline uint16_t rtcp_get_length(const uint8_t *p_rtcp) +{ + return (p_rtcp[2] << 8) | p_rtcp[3]; +} + static inline void rtcp_set_length(uint8_t *p_rtcp, uint16_t length) { diff --git a/ietf/rtcp_sr.h b/ietf/rtcp_sr.h index fdac3ec..13a5628 100644 --- a/ietf/rtcp_sr.h +++ b/ietf/rtcp_sr.h @@ -22,6 +22,12 @@ static inline void rtcp_sr_set_length(uint8_t *p_rtcp_sr, rtcp_set_length(p_rtcp_sr, length); } +static inline uint32_t rtcp_sr_get_ntp_time_msw(const uint8_t *p_rtcp_sr) +{ + return (p_rtcp_sr[8] << 24) | (p_rtcp_sr[9] << 16) | + (p_rtcp_sr[10] << 8) | p_rtcp_sr[11]; +} + static inline void rtcp_sr_set_ntp_time_msw(uint8_t *p_rtcp_sr, uint32_t ntp_time_msw) { @@ -31,6 +37,12 @@ static inline void rtcp_sr_set_ntp_time_msw(uint8_t *p_rtcp_sr, p_rtcp_sr[11] = ntp_time_msw & 0xff; } +static inline uint32_t rtcp_sr_get_ntp_time_lsw(const uint8_t *p_rtcp_sr) +{ + return (p_rtcp_sr[12] << 24) | (p_rtcp_sr[13] << 16) | + (p_rtcp_sr[14] << 8) | p_rtcp_sr[15]; +} + static inline void rtcp_sr_set_ntp_time_lsw(uint8_t *p_rtcp_sr, uint32_t ntp_time_lsw) { @@ -40,6 +52,12 @@ static inline void rtcp_sr_set_ntp_time_lsw(uint8_t *p_rtcp_sr, p_rtcp_sr[15] = ntp_time_lsw & 0xff; } +static inline uint32_t rtcp_sr_get_rtp_time(const uint8_t *p_rtcp_sr) +{ + return (p_rtcp_sr[16] << 24) | (p_rtcp_sr[17] << 16) | + (p_rtcp_sr[18] << 8) | p_rtcp_sr[19]; +} + static inline void rtcp_sr_set_rtp_time(uint8_t *p_rtcp_sr, uint32_t rtp_time) { @@ -49,6 +67,12 @@ static inline void rtcp_sr_set_rtp_time(uint8_t *p_rtcp_sr, p_rtcp_sr[19] = rtp_time & 0xff; } +static inline uint32_t rtcp_sr_get_packet_count(const uint8_t *p_rtcp_sr) +{ + return (p_rtcp_sr[20] << 24) | (p_rtcp_sr[21] << 16) | + (p_rtcp_sr[22] << 8) | p_rtcp_sr[23]; +} + static inline void rtcp_sr_set_packet_count(uint8_t *p_rtcp_sr, uint32_t packet_count) { @@ -58,6 +82,12 @@ static inline void rtcp_sr_set_packet_count(uint8_t *p_rtcp_sr, p_rtcp_sr[23] = packet_count & 0xff; } +static inline uint32_t rtcp_sr_get_octet_count(const uint8_t *p_rtcp_sr) +{ + return (p_rtcp_sr[24] << 24) | (p_rtcp_sr[25] << 16) | + (p_rtcp_sr[26] << 8) | p_rtcp_sr[27]; +} + static inline void rtcp_sr_set_octet_count(uint8_t *p_rtcp_sr, uint32_t octet_count) {