Commit 5c49627012996aedb802b81e64c4776f9874f0a7

Authored by 648540858
1 parent 287d42c1

优化发流端口分配

src/main/java/com/genersoft/iot/vmp/media/zlm/SendRtpPortManager.java
... ... @@ -36,6 +36,13 @@ public class SendRtpPortManager {
36 36 }
37 37  
38 38 public int getNextPort(String mediaServerId) {
  39 + String sendIndexKey = KEY + userSetting.getServerId() + "_" + mediaServerId;
  40 + MediaSendRtpPortInfo mediaSendRtpPortInfo = (MediaSendRtpPortInfo)redisTemplate.opsForValue().get(sendIndexKey);
  41 + if (mediaSendRtpPortInfo == null) {
  42 + logger.warn("[发送端口管理] 获取{}的发送端口时未找到端口信息", mediaSendRtpPortInfo);
  43 + return 0;
  44 + }
  45 +
39 46 String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX
40 47 + userSetting.getServerId() + "_*";
41 48 List<Object> queryResult = RedisUtil.scan(redisTemplate, key);
... ... @@ -48,12 +55,6 @@ public class SendRtpPortManager {
48 55 }
49 56 }
50 57  
51   - String sendIndexKey = KEY + userSetting.getServerId() + "_" + mediaServerId;
52   - MediaSendRtpPortInfo mediaSendRtpPortInfo = (MediaSendRtpPortInfo)redisTemplate.opsForValue().get(sendIndexKey);
53   - if (mediaSendRtpPortInfo == null) {
54   - logger.warn("[发送端口管理] 获取{}的发送端口时未找到端口信息", mediaSendRtpPortInfo);
55   - return 0;
56   - }
57 58 int port = getPort(mediaSendRtpPortInfo.getCurrent(),
58 59 mediaSendRtpPortInfo.getStart(),
59 60 mediaSendRtpPortInfo.getEnd(), checkPort -> sendRtpItemMap.get(checkPort) == null);
... ...