RTP的Header解析,比较简单;一般有几个比较简单的方法:
写在前面:
从rfc3550文档中可以找到rtp_header定义:
不要用
但是不要用这个文件,在Windows中,因为大小端的问题,Android端应该可以用,具体看资料;
需要用从ortp或jrtplib中找到的定义;内容一样,但是顺序不一样,主要是大小端的问题;开源项目中应该也有注释;
/*
* RTP data header
*/
typedef struct {
unsigned int version:2; /* protocol version */
unsigned int p:1; /* padding flag */
unsigned int x:1; /* header extension flag */
unsigned int cc:4; /* CSRC count */
unsigned int m:1; /* marker bit */
unsigned int pt:7; /* payload type */
unsigned int seq:16; /* sequence number */
u_int32 ts; /* timestamp */
u_int32 ssrc; /* synchronization source */
u_int32 csrc[1]; /* optional CSRC list */
} rtp_hdr_t;
方法一:
从jrtplib,