From dbe6ece653823a9487a04cbf69428119fd4011c4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Wed, 15 Jun 2022 15:06:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=92=AD=E6=94=BE=E4=B8=ADzl?= =?UTF-8?q?m=E7=A6=BB=E7=BA=BF=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java | 2 +- .../vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java index 48cdca32..2a99b1b3 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java @@ -283,10 +283,10 @@ public class ZLMRTPServerFactory { */ public int totalReaderCount(MediaServerItem mediaServerItem, String app, String streamId) { JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo(mediaServerItem, app, "rtmp", streamId); - Integer code = mediaInfo.getInteger("code"); if (mediaInfo == null) { return 0; } + Integer code = mediaInfo.getInteger("code"); if ( code < 0) { logger.warn("查询流({}/{})是否有其它观看者时得到: {}", app, streamId, mediaInfo.getString("msg")); return -1; diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java index acfd2674..d3af23c0 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java @@ -61,13 +61,12 @@ public class ZLMKeepliveTimeoutListener extends RedisKeyExpirationEventMessageLi // 发起http请求验证zlm是否确实无法连接,如果确实无法连接则发送离线事件,否则不作处理 MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId); JSONObject mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServerItem); - if (mediaServerConfig == null || mediaServerConfig.getInteger("code") == -2) { - publisher.zlmOfflineEventPublish(mediaServerId); - }else { + if (mediaServerConfig != null && mediaServerConfig.getInteger("code") == 0) { logger.info("[zlm心跳到期]:{}验证后zlm仍在线,恢复心跳信息", mediaServerId); // 添加zlm信息 mediaServerService.updateMediaServerKeepalive(mediaServerId, mediaServerConfig); + }else { + publisher.zlmOfflineEventPublish(mediaServerId); } - } }