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 小时前
Prompt Engineering完全指南:从基础到高阶技术实战
java·服务器·prompt
CRUD酱2 小时前
RabbitMQ是如何确保消息的可靠性的?
java·python·rabbitmq
百花~2 小时前
Spring IoC&DI~
java·后端·spring
minji...2 小时前
linux 进程控制(一) (fork进程创建,exit进程终止)
linux·运维·服务器·c++·git·算法
wanhengidc2 小时前
巨 椰 云手机功能丰富 高性价比
运维·服务器·科技·智能手机·云计算
独自破碎E2 小时前
矩阵区间更新TLE?试试二维差分
java·线性代数·矩阵
卷到起飞的数分2 小时前
20.Spring Boot原理2
java·spring boot·后端
裴嘉靖2 小时前
uniapp做的APP和安卓苹果做的什么区别
前端
❀͜͡傀儡师2 小时前
使用Docker部署DashDot服务器仪表盘和Drupal
服务器·docker·容器
申阳2 小时前
Day 20:开源个人项目时的一些注意事项
前端·后端·程序员