diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java index c6dd5f983..c51b570a0 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java @@ -184,7 +184,7 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In return; } log.info("[收到bye] 来自:{}, 通道: {}, 类型: {}", ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getType()); - + // TODO 结束点播 避免等待 if (ssrcTransaction.getPlatformId() != null ) { Platform platform = platformService.queryPlatformByServerGBId(ssrcTransaction.getPlatformId()); diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java index 59c9e2290..56d5399af 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java @@ -273,6 +273,7 @@ public class MediaServerServiceImpl implements IMediaServerService { public void update(MediaServer mediaSerItem) { mediaServerMapper.update(mediaSerItem); MediaServer mediaServerInRedis = getOne(mediaSerItem.getId()); + // 获取完整数据 MediaServer mediaServerInDataBase = mediaServerMapper.queryOne(mediaSerItem.getId()); if (mediaServerInDataBase == null) { return; @@ -350,7 +351,7 @@ public class MediaServerServiceImpl implements IMediaServerService { Set mediaServerIdSet = redisTemplate.opsForZSet().reverseRange(key, 0, -1); List result = new ArrayList<>(); - if (mediaServerIdSet != null && mediaServerIdSet.size() > 0) { + if (mediaServerIdSet != null && !mediaServerIdSet.isEmpty()) { for (Object mediaServerId : mediaServerIdSet) { String mediaServerIdStr = (String) mediaServerId; String serverKey = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetting.getServerId() + ":" + mediaServerIdStr; diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java index 92310c60b..0d7ee0458 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaServerStatusManager.java @@ -129,7 +129,8 @@ public class ZLMMediaServerStatusManager { } if (!offlineZlmPrimaryMap.isEmpty()) { for (MediaServer mediaServerItem : offlineZlmPrimaryMap.values()) { - if (offlineZlmTimeMap.get(mediaServerItem.getId()) < System.currentTimeMillis() - 30*60*1000) { + if (offlineZlmTimeMap.get(mediaServerItem.getId()) != null + && offlineZlmTimeMap.get(mediaServerItem.getId()) < System.currentTimeMillis() - 30*60*1000) { offlineZlmsecondaryMap.put(mediaServerItem.getId(), mediaServerItem); offlineZlmPrimaryMap.remove(mediaServerItem.getId()); continue; @@ -281,6 +282,8 @@ public class ZLMMediaServerStatusManager { // 等zlm支持给每个rtpServer设置关闭音频的时候可以不设置此选项 if (mediaServerItem.isRtpEnable() && !ObjectUtils.isEmpty(mediaServerItem.getRtpPortRange())) { param.put("rtp_proxy.port_range", mediaServerItem.getRtpPortRange().replace(",", "-")); + }else { + param.put("rtp_proxy.port", mediaServerItem.getRtpProxyPort()); } if (!ObjectUtils.isEmpty(mediaServerItem.getRecordPath())) { diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java index bc72ce702..d7facd239 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java @@ -228,7 +228,7 @@ public class ServerController { public List getMediaLoad() { List result = new ArrayList<>(); List allOnline = mediaServerService.getAllOnline(); - if (allOnline.size() == 0) { + if (allOnline.isEmpty()) { return result; }else { for (MediaServer mediaServerItem : allOnline) {