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