1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
#ifndef _netinet_rtp_h
#define _netinet_rtp_h
/* RTP Upper Layer Format Numbers H.225 */
#define IPPROTO_RTP 257
#define RTP_PCMU 0
#define RTP_PCMA 8
#define RTP_G722 9
#define RTP_G723 4
#define RTP_G728 15
#define RTP_G729 18
#define RTP_H261 31
#define RTP_H263 34
/* RTP Header as defined in H.225 */
struct rtphdr {
#ifdef LITTLE_ENDIAN
unsigned char rh_cc:4, /* CSRC count */
rh_x:1, /* extension */
rh_p:1, /* padding */
rh_ver:2; /* version */
#else
unsigned char rh_ver:2, /* version */
rh_p:1, /* padding */
rh_x:1, /* extension */
rh_cc:4; /* CSRC count */
#endif
#ifdef LITTLE_ENDIAN
unsigned char rh_pt:7, /* payload type */
rh_mark:1; /* marker */
#else
unsigned char rh_mark:1, /* marker */
rh_pt:7; /* payload type */
#endif
unsigned short rh_seq;
unsigned int rh_time;
unsigned int rh_ssrc;
};
struct rtcphdr {
#ifdef LITTLE_ENDIAN
unsigned char rh_rc:5, /* report count */
rh_p:1, /* padding */
rh_ver:2; /* version */
#else
unsigned char rh_ver:2, /* version */
rh_p:1, /* padding */
rh_rc:5; /* report count */
#endif
unsigned char rh_pt; /* payload type */
unsigned short rh_len;
unsigned int rh_ssrc;
};
struct rtpexthdr {
unsigned short profile, length;
};
#endif /*!_netinet_rtp_h*/
|