From bf10cc1b355acbf247fae16ee31abad7046298d6 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 16 三月 2022 16:42:50 +0800 Subject: [PATCH] Merge pull request #399 from nikmu/wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeManager.java | 10 +++++----- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java | 7 +++---- src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 8 ++++---- src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java | 4 ++-- src/main/java/com/genersoft/iot/vmp/utils/node/INode.java | 2 +- src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeMerger.java | 6 +++--- src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java | 14 +++----------- 7 files changed, 21 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java index 1c368bf..6c24b20 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/SIPRequestHeaderProvider.java @@ -225,7 +225,7 @@ return request; } - public Request createInfoRequest(Device device, StreamInfo streamInfo, String content, Long cseq) + public Request createInfoRequest(Device device, StreamInfo streamInfo, String content) throws PeerUnavailableException, ParseException, InvalidArgumentException { Request request = null; if (streamInfo == null) return null; @@ -255,9 +255,8 @@ // Forwards MaxForwardsHeader maxForwards = sipFactory.createHeaderFactory().createMaxForwardsHeader(70); - if (cseq == null) { - cseq = redisCatchStorage.getCSEQ(Request.INFO); - } + + cseq = redisCatchStorage.getCSEQ(Request.INVITE); // ceq CSeqHeader cSeqHeader = sipFactory.createHeaderFactory() .createCSeqHeader(cseq, Request.INFO); diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java index d2ef5ed..7a385f5 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java @@ -1620,7 +1620,7 @@ content.append("PAUSE RTSP/1.0\r\n"); content.append("CSeq: " + cseq + "\r\n"); content.append("PauseTime: now\r\n"); - Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString(), cseq); + Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString()); if (request == null) { return; } @@ -1651,7 +1651,7 @@ content.append("PLAY RTSP/1.0\r\n"); content.append("CSeq: " + cseq + "\r\n"); content.append("Range: npt=now-\r\n"); - Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString(), cseq); + Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString()); if (request == null) return; logger.info(request.toString()); ClientTransaction clientTransaction = null; @@ -1680,7 +1680,7 @@ content.append("CSeq: " + cseq + "\r\n"); content.append("Range: npt=" + Math.abs(seekTime) + "-\r\n"); - Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString(), cseq); + Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString()); if (request == null) return; logger.info(request.toString()); ClientTransaction clientTransaction = null; @@ -1708,7 +1708,7 @@ content.append("PLAY RTSP/1.0\r\n"); content.append("CSeq: " + cseq + "\r\n"); content.append("Scale: " + String.format("%.1f",speed) + "\r\n"); - Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString(), cseq); + Request request = headerProvider.createInfoRequest(device, streamInfo, content.toString()); if (request == null) return; logger.info(request.toString()); ClientTransaction clientTransaction = null; diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java index 7835feb..89e35a5 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/node/BaseNode.java @@ -16,7 +16,7 @@ /** * 涓婚敭ID */ - protected int id; + protected String channelId; /** * 鐖惰妭鐐笽D @@ -50,21 +50,13 @@ } @Override - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; + public String getChannelId() { + return channelId; } @Override public String getParentId() { return parentId; - } - - public void setParentId(String parentId) { - this.parentId = parentId; } @Override diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java index 21a48df..d983c56 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNode.java @@ -15,8 +15,8 @@ */ private Object content; - public ForestNode(int id, String parentId, Object content) { - this.id = id; + public ForestNode(String id, String parentId, Object content) { + this.channelId = id; this.parentId = parentId; this.content = content; } diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeManager.java b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeManager.java index 895e6de..affce9d 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeManager.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeManager.java @@ -17,15 +17,15 @@ /** * 妫灄鐨勬墍鏈夎妭鐐� */ - private final ImmutableMap<Integer, T> nodeMap; + private final ImmutableMap<String, T> nodeMap; /** * 妫灄鐨勭埗鑺傜偣ID */ - private final Map<Integer, Object> parentIdMap = Maps.newHashMap(); + private final Map<String, Object> parentIdMap = Maps.newHashMap(); public ForestNodeManager(List<T> nodes) { - nodeMap = Maps.uniqueIndex(nodes, INode::getId); + nodeMap = Maps.uniqueIndex(nodes, INode::getChannelId); } /** @@ -46,7 +46,7 @@ * * @param parentId 鐖惰妭鐐笽D */ - public void addParentId(int parentId) { + public void addParentId(String parentId) { parentIdMap.put(parentId, ""); } @@ -58,7 +58,7 @@ public List<T> getRoot() { List<T> roots = new ArrayList<>(); nodeMap.forEach((key, node) -> { - if (node.getParentId() == null || parentIdMap.containsKey(node.getId())) { + if (node.getParentId() == null || parentIdMap.containsKey(node.getChannelId())) { roots.add(node); } }); diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeMerger.java b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeMerger.java index 062d4cd..8df6f50 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeMerger.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/node/ForestNodeMerger.java @@ -25,7 +25,7 @@ if (node != null) { node.getChildren().add(forestNode); } else { - forestNodeManager.addParentId(forestNode.getId()); + forestNodeManager.addParentId(forestNode.getChannelId()); } } }); @@ -37,8 +37,8 @@ items.forEach(forestNode -> { if (forestNode.getParentId() != null) { INode<T> node = forestNodeManager.getTreeNodeAt(forestNode.getParentId()); - if (CollectionUtil.contains(parentIds, forestNode.getId())){ - forestNodeManager.addParentId(forestNode.getId()); + if (CollectionUtil.contains(parentIds, forestNode.getChannelId())){ + forestNodeManager.addParentId(forestNode.getChannelId()); } else { if (node != null){ node.getChildren().add(forestNode); diff --git a/src/main/java/com/genersoft/iot/vmp/utils/node/INode.java b/src/main/java/com/genersoft/iot/vmp/utils/node/INode.java index c82d6f7..2772747 100644 --- a/src/main/java/com/genersoft/iot/vmp/utils/node/INode.java +++ b/src/main/java/com/genersoft/iot/vmp/utils/node/INode.java @@ -14,7 +14,7 @@ * * @return String */ - int getId(); + String getChannelId(); /** * 鐖朵富閿� -- Gitblit v1.8.0