From 2eb1ca2d94a09c2d3ced69de28de72d2d6d77d8e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 03 三月 2022 15:57:28 +0800
Subject: [PATCH] 国标录像支持多端同时播放

---
 src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java |   35 ++++++++++++++++++++++++++++++-----
 1 files changed, 30 insertions(+), 5 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 f65a155..3a4c3ee 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java
@@ -1,9 +1,11 @@
 package com.genersoft.iot.vmp.service;
 
+import com.alibaba.fastjson.JSONObject;
 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.service.bean.SSRCInfo;
+import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 
 import java.util.List;
 
@@ -20,22 +22,31 @@
 
     MediaServerItem getOne(String generalMediaServerId);
 
-    MediaServerItem getOneByHostAndPort(String host, int port);
+    void syncCatchFromDatabase();
 
     /**
      * 鏂扮殑鑺傜偣鍔犲叆
      * @param zlmServerConfig
      * @return
      */
-    void handLeZLMServerConfig(ZLMServerConfig zlmServerConfig);
+    void zlmServerOnline(ZLMServerConfig zlmServerConfig);
+
+    /**
+     * 鑺傜偣绂荤嚎
+     * @param mediaServerId
+     * @return
+     */
+    void zlmServerOffline(String mediaServerId);
 
     MediaServerItem getMediaServerForMinimumLoad();
 
-    void setZLMConfig(MediaServerItem mediaServerItem);
+    void setZLMConfig(MediaServerItem mediaServerItem, boolean restart);
 
     SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId);
 
-    void closeRTPServer(Device device, String channelId);
+    SSRCInfo openRTPServer(MediaServerItem mediaServerItem, String streamId, boolean isPlayback);
+
+    void closeRTPServer(Device device, String channelId, String ssrc);
 
     void clearRTPServer(MediaServerItem mediaServerItem);
 
@@ -49,7 +60,21 @@
 
     void clearMediaServerForOnline();
 
-    void add(MediaServerItem mediaSerItem);
+    WVPResult<String> add(MediaServerItem mediaSerItem);
+
+    int addToDatabase(MediaServerItem mediaSerItem);
+
+    int updateToDatabase(MediaServerItem mediaSerItem);
 
     void resetOnlineServerItem(MediaServerItem serverItem);
+
+    WVPResult<MediaServerItem> checkMediaServer(String ip, int port, String secret);
+
+    boolean checkMediaRecordServer(String ip, int port);
+
+    void delete(String id);
+
+    MediaServerItem getDefaultMediaServer();
+
+    void updateMediaServerKeepalive(String mediaServerId, JSONObject data);
 }

--
Gitblit v1.8.0