From 82adc0cb23f3ee47322e78889cdaba57e9309000 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 21 三月 2023 15:55:24 +0800
Subject: [PATCH] 完善语音对讲级联

---
 src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
index 657d280..bac3d50 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -1,10 +1,10 @@
 package com.genersoft.iot.vmp.service;
 
-import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerConfig;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.ServerKeepaliveData;
+import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
-import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 
 import java.util.List;
 
@@ -21,24 +21,37 @@
 
     MediaServerItem getOne(String generalMediaServerId);
 
-    MediaServerItem getOneByHostAndPort(String host, int port);
+    void syncCatchFromDatabase();
 
     /**
      * 鏂扮殑鑺傜偣鍔犲叆
      * @param zlmServerConfig
      * @return
      */
-    void handLeZLMServerConfig(ZLMServerConfig zlmServerConfig);
+    void zlmServerOnline(ZLMServerConfig zlmServerConfig);
 
-    MediaServerItem getMediaServerForMinimumLoad();
+    /**
+     * 鑺傜偣绂荤嚎
+     * @param mediaServerId
+     * @return
+     */
+    void zlmServerOffline(String mediaServerId);
 
-    void setZLMConfig(MediaServerItem mediaServerItem);
+    MediaServerItem getMediaServerForMinimumLoad(Boolean hasAssist);
 
-    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
+    void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
 
-    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
+    void updateVmServer(List<MediaServerItem>  mediaServerItemList);
 
-    void closeRTPServer(Device device, String channelId);
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean ssrcCheck, boolean isPlayback);
+
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback);
+
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback, Integer port, Boolean onlyAuto);
+
+    void closeRTPServer(MediaServerItem mediaServerItem, String streamId);
+
+    void closeRTPServer(String mediaServerId, String streamId);
 
     void clearRTPServer(MediaServerItem mediaServerItem);
 
@@ -48,19 +61,35 @@
 
     void removeCount(String mediaServerId);
 
-    void releaseSsrc(MediaServerItem mediaServerItem, String ssrc);
+    void releaseSsrc(String mediaServerItemId, String ssrc);
 
     void clearMediaServerForOnline();
 
-    WVPResult<String> add(MediaServerItem mediaSerItem);
+    void add(MediaServerItem mediaSerItem);
+
+    int addToDatabase(MediaServerItem mediaSerItem);
+
+    int updateToDatabase(MediaServerItem mediaSerItem);
 
     void resetOnlineServerItem(MediaServerItem serverItem);
 
-    WVPResult<MediaServerItem> checkMediaServer(String ip, int port, String secret);
+    MediaServerItem checkMediaServer(String ip, int port, String secret);
 
     boolean checkMediaRecordServer(String ip, int port);
 
     void delete(String id);
 
+    void deleteDb(String id);
+
     MediaServerItem getDefaultMediaServer();
+
+    void updateMediaServerKeepalive(String mediaServerId, ServerKeepaliveData data);
+
+    boolean checkRtpServer(MediaServerItem mediaServerItem, String rtp, String stream);
+
+    /**
+     * 鑾峰彇璐熻浇淇℃伅
+     * @return
+     */
+    MediaServerLoad getLoad(MediaServerItem mediaServerItem);
 }

--
Gitblit v1.8.0