mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-11-25 12:11:36 +08:00
startSendRtpPassive接口新增连接超时参数:close_delay_ms
This commit is contained in:
parent
8f0ba6988b
commit
5bcfba1da4
@ -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() {
|
|||||||
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:
|
|||||||
|
|
||||||
//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
|
|||||||
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"));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user