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