mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-13 03:31:45 +08:00
add rtp server timeout hook
This commit is contained in:
@@ -1761,6 +1761,11 @@ void installWebApi() {
|
||||
api_regist("/index/hook/on_server_keepalive",[](API_ARGS_JSON){
|
||||
//心跳hook
|
||||
});
|
||||
|
||||
api_regist("/index/hook/on_rtp_server_timeout",[](API_ARGS_JSON){
|
||||
//rtp server 超时
|
||||
TraceL <<allArgs.getArgs().toStyledString();
|
||||
});
|
||||
}
|
||||
|
||||
void unInstallWebApi(){
|
||||
|
||||
@@ -46,6 +46,7 @@ const string kOnHttpAccess = HOOK_FIELD"on_http_access";
|
||||
const string kOnServerStarted = HOOK_FIELD"on_server_started";
|
||||
const string kOnServerKeepalive = HOOK_FIELD"on_server_keepalive";
|
||||
const string kOnSendRtpStopped = HOOK_FIELD"on_send_rtp_stopped";
|
||||
const string kOnRtpServerTimeout = HOOK_FIELD"on_rtp_server_timeout";
|
||||
const string kAdminParams = HOOK_FIELD"admin_params";
|
||||
const string kAliveInterval = HOOK_FIELD"alive_interval";
|
||||
const string kRetry = HOOK_FIELD"retry";
|
||||
@@ -70,6 +71,7 @@ onceToken token([](){
|
||||
mINI::Instance()[kOnServerStarted] = "";
|
||||
mINI::Instance()[kOnServerKeepalive] = "";
|
||||
mINI::Instance()[kOnSendRtpStopped] = "";
|
||||
mINI::Instance()[kOnRtpServerTimeout] = "";
|
||||
mINI::Instance()[kAdminParams] = "secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc";
|
||||
mINI::Instance()[kAliveInterval] = 30.0;
|
||||
mINI::Instance()[kRetry] = 1;
|
||||
@@ -648,6 +650,22 @@ void installWebHook(){
|
||||
});
|
||||
});
|
||||
|
||||
NoticeCenter::Instance().addListener(&web_hook_tag,Broadcast::KBroadcastRtpServerTimeout,[](BroadcastRtpServerTimeout){
|
||||
GET_CONFIG(string,rtp_server_timeout,Hook::kOnRtpServerTimeout);
|
||||
if(!hook_enable || rtp_server_timeout.empty()){
|
||||
return;
|
||||
}
|
||||
|
||||
ArgsType body;
|
||||
body["local_port"] = local_port;
|
||||
body["stream_id"] = stream_id;
|
||||
body["tcp_mode"] = tcp_mode;
|
||||
body["re_use_port"] = re_use_port;
|
||||
body["ssrc"] = ssrc;
|
||||
do_http_hook(rtp_server_timeout,body);
|
||||
|
||||
});
|
||||
|
||||
//汇报服务器重新启动
|
||||
reportServerStarted();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user