Commit 5bcfba1d by xiongziliang

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

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