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