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; }

}

相关推荐
haluhalu.3 分钟前
深入理解Linux线程机制:线程概念,内存管理
java·linux·运维
jiaguangqingpanda5 分钟前
Day22-20260118
java·开发语言
雪碧聊技术6 分钟前
1、LangChain4j 名字的寓意
java·大模型·langchain4j
闲蛋小超人笑嘻嘻8 分钟前
Vue 插槽:从基础到进阶
前端·javascript·vue.js
梦65017 分钟前
Vue2 与 Vue3 对比 + 核心差异
前端·vue.js
风生u23 分钟前
bpmn 的理解和元素
java·开发语言·工作流·bpmn
tiandyoin26 分钟前
给 MHTML 添加滚动条.mhtml
前端·chrome·html·mhtml
遗憾随她而去.1 小时前
前端大文件上传(切片并发/断点续传/秒传/WebWorker 计算Hash) 含完整代码
前端
cui__OaO1 小时前
Linux驱动--驱动编译
linux·运维·服务器
派大鑫wink1 小时前
【Day34】Servlet 进阶:会话管理(Cookie vs Session)
java·开发语言·学习方法