From 2465f486acd90ed8395c8a83a13af09ecd024c98 Mon Sep 17 00:00:00 2001 From: mannol Date: Mon, 13 Apr 2015 01:45:53 +0200 Subject: Started custom RTCP --- toxav/rtp.h | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'toxav/rtp.h') diff --git a/toxav/rtp.h b/toxav/rtp.h index 6b796d5a..fa5af9fe 100644 --- a/toxav/rtp.h +++ b/toxav/rtp.h @@ -23,8 +23,6 @@ #define RTP_H #define RTP_VERSION 2 -#include -// #include #include "../toxcore/Messenger.h" @@ -51,8 +49,8 @@ typedef enum { rtp_TypeVideo } RTPPayloadType; -/** - * Standard rtp header +/** + * Standard rtp header. */ typedef struct { uint8_t flags; /* Version(2),Padding(1), Ext(1), Cc(4) */ @@ -62,17 +60,14 @@ typedef struct { uint32_t ssrc; /* SSRC */ uint32_t csrc[16]; /* CSRC's table */ uint32_t length; /* Length of the header in payload string. */ - } RTPHeader; - -/** +/** * Standard rtp extension header. */ typedef struct { uint16_t type; /* Extension profile */ uint16_t length; /* Number of extensions */ uint32_t *table; /* Extension's table */ - } RTPExtHeader; /** @@ -90,31 +85,32 @@ typedef struct { * RTP control session. */ typedef struct { - uint8_t version; - uint8_t padding; - uint8_t extension; - uint8_t cc; - uint8_t marker; - uint8_t payload_type; - uint16_t sequnum; /* Set when sending */ - uint16_t rsequnum; /* Check when recving msg */ - uint32_t timestamp; - uint32_t ssrc; - uint32_t *csrc; + uint8_t version; + uint8_t padding; + uint8_t extension; + uint8_t cc; + uint8_t marker; + uint8_t payload_type; + uint16_t sequnum; /* Sending sequence number */ + uint16_t rsequnum; /* Receiving sequence number */ + uint32_t rtimestamp; + uint32_t ssrc; + uint32_t *csrc; /* If some additional data must be sent via message * apply it here. Only by allocating this member you will be * automatically placing it within a message. */ - RTPExtHeader *ext_header; + RTPExtHeader *ext_header; /* Msg prefix for core to know when recving */ - uint8_t prefix; + uint8_t prefix; - int dest; + int dest; - struct CSession_s *cs; - Messenger *m; + struct RTCPSession_s *rtcp; + struct CSession_s *cs; + Messenger *m; } RTPSession; @@ -128,6 +124,11 @@ RTPSession *rtp_new ( int payload_type, Messenger *messenger, int friend_num ); */ void rtp_kill ( RTPSession* session ); +/** + * Do periodical rtp work. + */ +void rtp_do(RTPSession *session); + /** * By default rtp is not in receiving state */ -- cgit v1.2.3