From f4aa3e0ee8c988c0d7535ad1c76e68e23e400194 Mon Sep 17 00:00:00 2001 From: 648540858 <18010473990@163.com> Date: 星期日, 08 八月 2021 09:18:45 +0800 Subject: [PATCH] 修复自动点播 --- src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java | 32 +++++++++++++++++++------------- 1 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java index 07bddb8..d928d87 100644 --- a/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java @@ -181,6 +181,12 @@ return result; } + + @Override + public List<MediaServerItem> getAllFromDatabase() { + return mediaServerMapper.queryAll(); + } + @Override public List<MediaServerItem> getAllOnline() { String key = VideoManagerConstants.MEDIA_SERVERS_ONLINE_PREFIX; @@ -251,18 +257,16 @@ if (mediaConfig.getRtspSSLPort() == 0) serverItemFromConfig.setRtspSSLPort(zlmServerConfig.getRtspSSlport()); if (mediaConfig.getRtpProxyPort() == 0) serverItemFromConfig.setRtpProxyPort(zlmServerConfig.getRtpProxyPort()); if (serverItem != null){ - // 鍙兘鏄悓涓�涓獄lm浣唅d鍙戠敓浜嗗彉鍖� - if (!serverItem.getId().equals(zlmServerConfig.getGeneralMediaServerId())) { - mediaServerMapper.delOne(serverItem.getId()); - redisUtil.del(VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItem.getId()); - - String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId(); - serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain())); - redisUtil.set(key, serverItemFromConfig); - mediaServerMapper.add(serverItemFromConfig); + mediaServerMapper.delDefault(); + mediaServerMapper.add(serverItemFromConfig); + String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId(); + MediaServerItem serverItemInRedis = (MediaServerItem)redisUtil.get(key); + if (serverItemInRedis != null) { + serverItemFromConfig.setSsrcConfig(serverItemInRedis.getSsrcConfig()); }else { - mediaServerMapper.update(serverItemFromConfig); + serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain())); } + redisUtil.set(key, serverItemFromConfig); }else { String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + serverItemFromConfig.getId(); serverItemFromConfig.setSsrcConfig(new SsrcConfig(serverItemFromConfig.getId(), null, sipConfig.getSipDomain())); @@ -272,7 +276,7 @@ resetOnlineServerItem(serverItemFromConfig); setZLMConfig(serverItemFromConfig); }else { - String now = this.format.format(new Date(System.currentTimeMillis())); + String now = this.format.format(System.currentTimeMillis()); if (serverItem == null){ // 涓�涓柊鐨剒lm鎺ュ叆wvp serverItem = new MediaServerItem(zlmServerConfig, sipConfig.getSipIp()); @@ -338,12 +342,14 @@ if (redisUtil.zSize(key) == null || redisUtil.zSize(key) == 0) { logger.info("鑾峰彇璐熻浇鏈�浣庣殑鑺傜偣鏃舵棤鍦ㄧ嚎鑺傜偣"); + return null; } // 鑾峰彇鍒嗘暟鏈�浣庣殑锛屽強骞跺彂鏈�浣庣殑 Set<Object> objects = redisUtil.ZRange(key, 0, -1); - ArrayList<Object> MediaServerObjectS = new ArrayList<>(objects); - String mediaServerId = (String)MediaServerObjectS.get(0); + ArrayList<Object> mediaServerObjectS = new ArrayList<>(objects); + + String mediaServerId = (String)mediaServerObjectS.get(0); return getOne(mediaServerId); } -- Gitblit v1.8.0