FreeSWITCH rtp session 的初始化

switch_rtp.c 的这个函数处理 rtp session 的初始化:

switch_rtp_create

主要的元素有:

rtp_session->seq = (uint16_t)rand();

rtp_session->ssrc = (uint32_t)((intptr_t)rtp_session + (switch_time_t)switch_epoch_time_now(NULL));

seq 是随机数

如果设置全局变量 rtp_manual_rtp_bugs=START_SEQ_AT_ZERO

下面这段代码会把 seq 自动设置为 0:

SWITCH_DECLARE(void) switch_rtp_intentional_bugs(switch_rtp_t *rtp_session, switch_rtp_bug_flag_t bugs)

{

rtp_session->rtp_bugs = bugs;

if ((rtp_session->rtp_bugs & RTP_BUG_START_SEQ_AT_ZERO)) { rtp_session->seq = 0; }

}

相关推荐
无羡仙2 分钟前
替代 Object.freeze 的精准只读模式
前端·javascript
web前端12312 分钟前
Java客户端开发指南 - 与Web开发对比分析
前端
龙在天13 分钟前
前端 9大 设计模式
前端
搞个锤子哟14 分钟前
网站页面放大缩小带来的问题
前端
hj5914_前端新手14 分钟前
React 基础 - useState、useContext/createContext
前端·react.js
用户81607918333315 分钟前
告别“魔法”:包你解决 Gradle 的下载慢问题
java
半花17 分钟前
【Vue】defineProps、defineEmits 和 defineExpose
前端·vue.js
霍格沃兹_测试23 分钟前
软件测试 | 测试开发 | H5页面多端兼容测试与监控
前端
toooooop832 分钟前
本地开发环境webScoket调试,保存html即用
前端·css·websocket
山有木兮木有枝_38 分钟前
手动封装移动端下拉刷新组件的设计与实现
前端