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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值