Commit 5bcfba1d by xiongziliang

startSendRtpPassive接口新增连接超时参数:close_delay_ms

parent 8f0ba698
......@@ -1755,6 +1755,12 @@
"value": "",
"description": "发送rtp同时接收,一般用于双向语言对讲, 如果不为空,说明开启接收,值为接收流的id",
"disabled": true
},
{
"key": "close_delay_ms",
"value": "5000",
"description": "等待tcp连接超时时间,单位毫秒,默认5000毫秒",
"disabled": true
}
]
}
......
......@@ -1238,6 +1238,8 @@ void installWebApi() {
args.use_ps = allArgs["use_ps"].empty() ? true : allArgs["use_ps"].as<bool>();
args.only_audio = allArgs["only_audio"].as<bool>();
args.recv_stream_id = allArgs["recv_stream_id"];
//tcp被动服务器等待链接超时时间
args.tcp_passive_close_delay_ms = allArgs["close_delay_ms"];
TraceL << "startSendRtpPassive, pt " << int(args.pt) << " ps " << args.use_ps << " audio " << args.only_audio;
src->getOwnerPoller()->async([=]() mutable {
......
......@@ -112,8 +112,8 @@ public:
//udp发送时,是否开启rr rtcp接收超时判断
bool udp_rtcp_timeout = false;
//tcp被动发送服务器延时关闭事件,单位毫秒
uint32_t tcp_passive_close_delay_ms = 5 * 1000;
//tcp被动发送服务器延时关闭事件,单位毫秒;设置为0时,则使用默认值5000ms
uint32_t tcp_passive_close_delay_ms = 0;
//udp 发送时,rr rtcp包接收超时时间,单位毫秒
uint32_t rtcp_timeout_ms = 30 * 1000;
//udp 发送时,发送sr rtcp包间隔,单位毫秒
......
......@@ -66,7 +66,8 @@ void RtpSender::startSend(const MediaSourceEvent::SendRtpArgs &args, const funct
is_wait = false;
}
// tcp服务器默认开启5秒
auto delay_task = _poller->doDelayTask(_args.tcp_passive_close_delay_ms, [tcp_listener, cb,is_wait]() mutable {
auto delay = _args.tcp_passive_close_delay_ms ? _args.tcp_passive_close_delay_ms : 5000;
auto delay_task = _poller->doDelayTask(delay, [tcp_listener, cb, is_wait]() mutable {
if (is_wait) {
cb(0, SockException(Err_timeout, "wait tcp connection timeout"));
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论