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

This commit is contained in:
xiongziliang 2023-02-17 23:02:09 +08:00
parent 8f0ba6988b
commit 5bcfba1da4
4 changed files with 12 additions and 3 deletions

View File

@ -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
} }
] ]
} }

View File

@ -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 {

View File

@ -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包间隔单位毫秒

View File

@ -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"));
} }