startSendRtp相关接口新增enable_origin_recv_limit参数控制是否开启源端限流
Some checks failed
Android / build (push) Has been cancelled
CodeQL / Analyze (cpp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Docker / build (push) Has been cancelled
Linux / build (push) Has been cancelled
macOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled

多倍速rtp转发时,在tcp模式下,如果转发速度跟不上接收速度将导致转发失败,通过开启该参数,可以确保历史视频多倍速下载成功
This commit is contained in:
xia-chu 2025-08-02 21:14:42 +08:00
parent c9a0025620
commit 5d9ced2cf3
2 changed files with 20 additions and 0 deletions

View File

@ -2195,6 +2195,12 @@
"value": "",
"description": "发送rtp同时接收一般用于双向语言对讲, 如果不为空说明开启接收值为接收流的id",
"disabled": true
},
{
"key": "enable_origin_recv_limit",
"value": "1",
"description": "转发rtp(tcp模式)时如果发送不出去是否限制源端收流速度此参数在多倍速rtp转发时作用较大",
"disabled": true
}
]
}
@ -2289,6 +2295,12 @@
"value": "5000",
"description": "等待tcp连接超时时间单位毫秒默认5000毫秒",
"disabled": true
},
{
"key": "enable_origin_recv_limit",
"value": "1",
"description": "转发rtp(tcp模式)时如果发送不出去是否限制源端收流速度此参数在多倍速rtp转发时作用较大",
"disabled": true
}
]
}
@ -2364,6 +2376,12 @@
"value": "1",
"description": "rtp es方式打包时是否只打包音频该参数非必选参数",
"disabled": true
},
{
"key": "enable_origin_recv_limit",
"value": "1",
"description": "转发rtp(tcp模式)时如果发送不出去是否限制源端收流速度此参数在多倍速rtp转发时作用较大",
"disabled": true
}
]
}

View File

@ -1603,6 +1603,7 @@ void installWebApi() {
// Record the app and vhost of the sending stream
args.recv_stream_app = allArgs["app"];
args.recv_stream_vhost = allArgs["vhost"];
args.enable_origin_recv_limit = allArgs["enable_origin_recv_limit"];
src->getOwnerPoller()->async([=]() mutable {
try {
src->startSendRtp(args, [val, headerOut, invoker](uint16_t local_port, const SockException &ex) mutable {
@ -1649,6 +1650,7 @@ void installWebApi() {
args.recv_stream_id = allArgs["recv_stream_id"];
args.recv_stream_app = allArgs["app"];
args.recv_stream_vhost = allArgs["vhost"];
args.enable_origin_recv_limit = allArgs["enable_origin_recv_limit"];
src->getOwnerPoller()->async([=]() mutable {
try {