From 8bd2f47c9a92ffcf5ae43fae965eaefd4748e263 Mon Sep 17 00:00:00 2001
From: lishuyuan <lishuyuan@inspur.com>
Date: 星期四, 02 十一月 2023 10:17:47 +0800
Subject: [PATCH] bugfix:目录订阅收到更新事件时,sql字段update_time为空导致的报错

---
 src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java |   27 ++++++++-------------------
 1 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java
old mode 100644
new mode 100755
index c4c1df9..a579c48
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/rtp/RtpController.java
@@ -7,16 +7,12 @@
 import com.genersoft.iot.vmp.conf.exception.ControllerException;
 import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
 import com.genersoft.iot.vmp.media.zlm.ZLMServerFactory;
-import com.genersoft.iot.vmp.media.zlm.SendRtpPortManager;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
 import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForRtpServerTimeout;
 import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
 import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnRtpServerTimeoutHookParam;
-import com.genersoft.iot.vmp.service.IDeviceChannelService;
-import com.genersoft.iot.vmp.service.IDeviceService;
 import com.genersoft.iot.vmp.service.IMediaServerService;
 import com.genersoft.iot.vmp.utils.redis.RedisUtil;
 import com.genersoft.iot.vmp.vmanager.bean.ErrorCode;
@@ -38,7 +34,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeUnit;
 
 @SuppressWarnings("rawtypes")
@@ -63,14 +58,10 @@
     private IMediaServerService mediaServerService;
 
     @Autowired
-    private SendRtpPortManager sendRtpPortManager;
-
-    @Autowired
     private UserSetting userSetting;
 
     @Autowired
     private DynamicTask dynamicTask;
-
 
     @Autowired
     private RedisTemplate<Object, Object> redisTemplate;
@@ -100,10 +91,10 @@
         if (isSend != null && isSend && callId == null) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(),"isSend涓簍rue鏃讹紝CallID涓嶈兘涓虹┖");
         }
-        int ssrcInt = 0;
+        long ssrcInt = 0;
         if (ssrc != null) {
             try {
-                ssrcInt = Integer.parseInt(ssrc);
+                ssrcInt = Long.parseLong(ssrc);
             }catch (NumberFormatException e) {
                 throw new ControllerException(ErrorCode.ERROR100.getCode(),"ssrc鏍煎紡閿欒");
             }
@@ -136,7 +127,7 @@
                         }
                     });
         }
-        String key = VideoManagerConstants.WVP_OTHER_SEND_RTP_INFO + userSetting.getServerId() + callId;
+        String key = VideoManagerConstants.WVP_OTHER_SEND_RTP_INFO + userSetting.getServerId() + "_"  + callId;
         OtherRtpSendInfo otherRtpSendInfo = new OtherRtpSendInfo();
         otherRtpSendInfo.setReceiveIp(mediaServerItem.getSdpIp());
         otherRtpSendInfo.setReceivePortForVideo(localPortForVideo);
@@ -147,15 +138,15 @@
         // 灏嗕俊鎭啓鍏edis涓紝浠ュ鍚庣敤
         redisTemplate.opsForValue().set(receiveKey, otherRtpSendInfo);
         if (isSend != null && isSend) {
-            String key = VideoManagerConstants.WVP_OTHER_SEND_RTP_INFO + userSetting.getServerId() + "_"  + callId;
             // 棰勫垱寤哄彂娴佷俊鎭�
-            int portForVideo = sendRtpPortManager.getNextPort(mediaServerItem.getId());
-            int portForAudio = sendRtpPortManager.getNextPort(mediaServerItem.getId());
-            // 灏嗕俊鎭啓鍏edis涓紝浠ュ鍚庣敤
-            redisTemplate.opsForValue().set(key, otherRtpSendInfo, 300, TimeUnit.SECONDS);
+            int portForVideo = sendRtpPortManager.getNextPort(mediaServerItem);
+            int portForAudio = sendRtpPortManager.getNextPort(mediaServerItem);
+
             otherRtpSendInfo.setSendLocalIp(mediaServerItem.getSdpIp());
             otherRtpSendInfo.setSendLocalPortForVideo(portForVideo);
             otherRtpSendInfo.setSendLocalPortForAudio(portForAudio);
+            // 灏嗕俊鎭啓鍏edis涓紝浠ュ鍚庣敤
+            redisTemplate.opsForValue().set(key, otherRtpSendInfo, 300, TimeUnit.SECONDS);
             logger.info("[绗笁鏂规湇鍔″鎺�->寮�鍚敹娴佸拰鑾峰彇鍙戞祦淇℃伅] 缁撴灉锛宑allId->{}锛� {}", callId, otherRtpSendInfo);
         }
         // 灏嗕俊鎭啓鍏edis涓紝浠ュ鍚庣敤
@@ -256,7 +247,6 @@
             String is_Udp = isUdp ? "1" : "0";
             paramForAudio.put("is_udp", is_Udp);
             paramForAudio.put("src_port", sendInfo.getSendLocalPortForAudio());
-            paramForAudio.put("use_ps", "0");
             paramForAudio.put("only_audio", "1");
             if (ptForAudio != null) {
                 paramForAudio.put("pt", ptForAudio);
@@ -277,7 +267,6 @@
             String is_Udp = isUdp ? "1" : "0";
             paramForVideo.put("is_udp", is_Udp);
             paramForVideo.put("src_port", sendInfo.getSendLocalPortForVideo());
-            paramForVideo.put("use_ps", "0");
             paramForVideo.put("only_audio", "0");
             if (ptForVideo != null) {
                 paramForVideo.put("pt", ptForVideo);

--
Gitblit v1.8.0