diff options
Diffstat (limited to 'stream/rtp.c')
-rw-r--r-- | stream/rtp.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/stream/rtp.c b/stream/rtp.c index 03073f2651..db522df9b5 100644 --- a/stream/rtp.c +++ b/stream/rtp.c @@ -39,6 +39,22 @@ #define MAXRTPPACKETSIN 32 // The number of max packets being reordered +struct rtpbits { + unsigned int v:2; /* version: 2 */ + unsigned int p:1; /* is there padding appended: 0 */ + unsigned int x:1; /* number of extension headers: 0 */ + unsigned int cc:4; /* number of CSRC identifiers: 0 */ + unsigned int m:1; /* marker: 0 */ + unsigned int pt:7; /* payload type: 33 for MPEG2 TS - RFC 1890 */ + unsigned int sequence:16; /* sequence number: random */ +}; + +struct rtpheader { /* in network byte order */ + struct rtpbits b; + int timestamp; /* start: random */ + int ssrc; /* random */ +}; + struct rtpbuffer { unsigned char data[MAXRTPPACKETSIN][STREAM_BUFFER_SIZE]; @@ -48,6 +64,8 @@ struct rtpbuffer }; static struct rtpbuffer rtpbuf; +static int getrtp2(int fd, struct rtpheader *rh, char** data, int* lengthData); + // RTP Reordering functions // Algorithm works as follows: // If next packet is in sequence just copy it to buffer |