From 2f108a46d05e34981d52b447d73f0cfd8e8c30fd Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 17 十一月 2021 16:24:31 +0800
Subject: [PATCH] Merge pull request #232 from chenparty/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java | 41 +++++++++++++++++++++++++----------------
1 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
index 67b605c..f20f74d 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRunner.java
@@ -45,18 +45,18 @@
mediaServerService.clearMediaServerForOnline();
// 灏嗛厤缃枃浠剁殑meida閰嶇疆鍐欏叆鏁版嵁搴�
- MediaServerItem presetMediaServer = mediaServerService.getOneByHostAndPort(
- mediaConfig.getIp(), mediaConfig.getHttpPort());
- if (presetMediaServer != null) {
- MediaServerItem mediaSerItem = mediaConfig.getMediaSerItem();
- mediaSerItem.setId(presetMediaServer.getId());
- mediaServerService.update(mediaSerItem);
- }else {
- if (mediaConfig.getId() != null) {
- MediaServerItem mediaSerItem = mediaConfig.getMediaSerItem();
- mediaServerService.add(mediaSerItem);
- }
- }
+// MediaServerItem presetMediaServer = mediaServerService.getOneByHostAndPort(
+// mediaConfig.getIp(), mediaConfig.getHttpPort());
+// if (presetMediaServer != null) {
+// MediaServerItem mediaSerItem = mediaConfig.getMediaSerItem();
+// mediaSerItem.setId(presetMediaServer.getId());
+// mediaServerService.update(mediaSerItem);
+// }else {
+// if (mediaConfig.getId() != null) {
+// MediaServerItem mediaSerItem = mediaConfig.getMediaSerItem();
+// mediaServerService.add(mediaSerItem);
+// }
+// }
// 璁㈤槄 zlm鍚姩浜嬩欢, 鏂扮殑zlm涔熶細浠庤繖閲岃繘鍏ョ郴缁�
hookSubscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_server_started,null,
@@ -73,14 +73,15 @@
logger.info("绛夊緟榛樿zlm鎺ュ叆...");
// 鑾峰彇鎵�鏈夌殑zlm锛� 骞跺紑鍚富鍔ㄨ繛鎺�
- List<MediaServerItem> all = mediaServerService.getAll();
- if (presetMediaServer == null) {
+ List<MediaServerItem> all = mediaServerService.getAllFromDatabase();
+ if (all.size() == 0) {
all.add(mediaConfig.getMediaSerItem());
}
for (MediaServerItem mediaServerItem : all) {
if (startGetMedia == null) startGetMedia = new HashMap<>();
startGetMedia.put(mediaServerItem.getId(), true);
new Thread(() -> {
+
ZLMServerConfig zlmServerConfig = getMediaServerConfig(mediaServerItem);
if (zlmServerConfig != null) {
zlmServerConfig.setIp(mediaServerItem.getIp());
@@ -88,6 +89,7 @@
startGetMedia.remove(mediaServerItem.getId());
mediaServerService.handLeZLMServerConfig(zlmServerConfig);
}
+
}).start();
}
Timer timer = new Timer();
@@ -99,15 +101,22 @@
Set<String> allZlmId = startGetMedia.keySet();
for (String id : allZlmId) {
logger.error("[ {} ]]涓诲姩杩炴帴澶辫触锛屼笉鍐嶄富鍔ㄨ繛鎺�", id);
- startGetMedia.put(id, false);
}
+ startGetMedia = null;
}
+ // TODO 娓呯悊鏁版嵁搴撲腑涓巖edis涓嶅尮閰嶇殑zlm
}
}, 60 * 1000 * 2);
}
public ZLMServerConfig getMediaServerConfig(MediaServerItem mediaServerItem) {
- if ( startGetMedia.get(mediaServerItem.getId()) == null || !startGetMedia.get(mediaServerItem.getId())) return null;
+ if (startGetMedia == null) { return null;}
+ if (!mediaServerItem.isDefaultServer() && mediaServerService.getOne(mediaServerItem.getId()) == null) {
+ return null;
+ }
+ if ( startGetMedia.get(mediaServerItem.getId()) == null || !startGetMedia.get(mediaServerItem.getId())) {
+ return null;
+ }
JSONObject responseJSON = zlmresTfulUtils.getMediaServerConfig(mediaServerItem);
ZLMServerConfig ZLMServerConfig = null;
if (responseJSON != null) {
--
Gitblit v1.8.0