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

}

相关推荐
陈老师还在写代码17 分钟前
android studio,java 语言。新建了项目,在哪儿设置 app 的名字和 logo。
android·java·android studio
消失的旧时光-194327 分钟前
Kotlin reified泛型 和 Java 泛型 区别
java·kotlin·数据
yinuo32 分钟前
Git Submodule 与 Subtree 全方位对比:使用方式与场景选择
前端
yinuo42 分钟前
深入理解与实战 Git Subtree
前端
czhc114007566343 分钟前
JAVA111 HashMap Leecode:1 两数之和 3 无重复字符串的长度
java
凌冰_1 小时前
Java Maven+lombok+MySql+HikariCP 操作数据库
java·数据库·maven
武子康1 小时前
Java-165 Neo4j 图论详解 欧拉路径与欧拉回路 10 分钟跑通:Python NetworkX 判定实战
java·数据库·性能优化·系统架构·nosql·neo4j·图论
向上的车轮1 小时前
Actix Web 不是 Nginx:解析 Rust 应用服务器与传统 Web 服务器的本质区别
前端·nginx·rust·tomcat·appche
Liudef061 小时前
基于LLM的智能数据查询与分析系统:实现思路与完整方案
前端·javascript·人工智能·easyui
代码不停1 小时前
Java二分算法题目练习
java·算法