rtp 报头的大小端 可查看jrtplib 中的定义
2015-09-09 17:02
549 查看
#ifdef __HI_CODEC__
#else
#define WORDS_BIGENDIAN
#endif
typedef struct rtp_packet_header {
#ifdef WORDS_BIGENDIAN
unsigned short ph_v:2;
/* packet type */
unsigned short ph_p:1;
/* padding flag */
unsigned short ph_x:1;
/* header extension flag */
unsigned short ph_cc:4;
/* CSRC count */
unsigned short ph_m:1;
/* marker bit */
unsigned short ph_pt:7;
/* payload type */
#else
unsigned short ph_cc:4;
/* CSRC count */
unsigned short ph_x:1;
/* header extension flag */
unsigned short ph_p:1;
/* padding flag */
unsigned short ph_v:2;
/* packet type */
unsigned short ph_pt:7;
/* payload type */
unsigned short ph_m:1;
/* marker bit */
#endif
uint16_t ph_seq;
/* sequence number */
uint32_t ph_ts;
/* timestamp */
uint32_t ph_ssrc;
/* synchronization source */
/* The csrc list, header extension and data follow, but can't */
/* be represented in the struct. */
} rtp_packet_header;
小端模式高位在低地址; 大端低地址低位高地址高位
#else
#define WORDS_BIGENDIAN
#endif
typedef struct rtp_packet_header {
#ifdef WORDS_BIGENDIAN
unsigned short ph_v:2;
/* packet type */
unsigned short ph_p:1;
/* padding flag */
unsigned short ph_x:1;
/* header extension flag */
unsigned short ph_cc:4;
/* CSRC count */
unsigned short ph_m:1;
/* marker bit */
unsigned short ph_pt:7;
/* payload type */
#else
unsigned short ph_cc:4;
/* CSRC count */
unsigned short ph_x:1;
/* header extension flag */
unsigned short ph_p:1;
/* padding flag */
unsigned short ph_v:2;
/* packet type */
unsigned short ph_pt:7;
/* payload type */
unsigned short ph_m:1;
/* marker bit */
#endif
uint16_t ph_seq;
/* sequence number */
uint32_t ph_ts;
/* timestamp */
uint32_t ph_ssrc;
/* synchronization source */
/* The csrc list, header extension and data follow, but can't */
/* be represented in the struct. */
} rtp_packet_header;
小端模式高位在低地址; 大端低地址低位高地址高位
相关文章推荐
- php代码优化
- php断点调试--安装xdebug
- 【ThinkPHP】修改ThinkPHP3.1.x成功与失败的跳转页面
- php导出excel
- PHP输入流php://input
- PHP相等的问题
- php的mysql_connect连接遇到的2006问题
- FlowLayoutPanel控件
- 烂泥:Server-U FTP与AD完美集成方案详解
- PHP 5.3以上版本推荐使用mysqlnd驱动
- 在dos命令窗口远程修改自己的FTP密码
- PHPCMS v9 将消息提醒改为类似公告顶端上面提示。
- php-leveldb 扩展安装 和使用
- thinkphp3.2.3编译时new model()出错的处理方法
- php阅读csv文件类
- ThinkPHP报Class 'Core\Log' not found竟然是由这个原因导致的
- 自己写的一个PHP教程,希望能帮到有需要的人
- PHP中的数组
- PHP文件上传类应用
- php实现发送邮件