Browse Source

Merge pull request #647 from L120820/wvp-28181-2.0

【zlm心跳hook】重复查询redis了
648540858 3 years ago
parent
commit
f3454caaf6

+ 8 - 9
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java

@@ -649,19 +649,18 @@ public class MediaServerServiceImpl implements IMediaServerService {
         MediaServerItem mediaServerItem = getOne(mediaServerId);
         if (mediaServerItem == null) {
             // 缓存不存在,从数据库查询,如果数据库不存在则是错误的
-            MediaServerItem mediaServerItemFromDatabase = getOneFromDatabase(mediaServerId);
-            if (mediaServerItemFromDatabase == null) {
-                return;
-            }
-            // zlm连接重试
-            logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息,尝试重连zlm");
-//            reloadZlm();
-            mediaServerItem = getOne(mediaServerId);
+            mediaServerItem = getOneFromDatabase(mediaServerId);
             if (mediaServerItem == null) {
-                // zlm连接重试
                 logger.warn("[更新ZLM 保活信息]失败,未找到流媒体信息");
                 return;
             }
+            // zlm连接重试
+            logger.warn("[更新ZLM 保活信息]尝试链接zml id {}", mediaServerId);
+            SsrcConfig ssrcConfig = new SsrcConfig(mediaServerItem.getId(), null, sipConfig.getDomain());
+            mediaServerItem.setSsrcConfig(ssrcConfig);
+            String key = VideoManagerConstants.MEDIA_SERVER_PREFIX + userSetting.getServerId() + "_" + mediaServerItem.getId();
+            RedisUtil.set(key, mediaServerItem);
+            clearRTPServer(mediaServerItem);
         }
         final String zlmKeepaliveKey = zlmKeepaliveKeyPrefix + mediaServerItem.getId();
         dynamicTask.stop(zlmKeepaliveKey);