From 56859d09df8d4226882d43934acf32d60a3b51d7 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 30 三月 2021 18:46:34 +0800
Subject: [PATCH] 添加推流列表和拉流代理,下一步与国标关联

---
 src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java |   23 ++++++++++++-----------
 1 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
index 4a4a538..65e1e5f 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
@@ -15,27 +15,28 @@
 public class VideoStreamSessionManager {
 
 	private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>();
+	private ConcurrentHashMap<String, String> ssrcMap = new ConcurrentHashMap<>();
 
 	public String createPlaySsrc(){
-		String ssrc = SsrcUtil.getPlaySsrc();
-		return ssrc;
+		return SsrcUtil.getPlaySsrc();
 	}
 	
 	public String createPlayBackSsrc(){
-		String ssrc = SsrcUtil.getPlayBackSsrc();
-		return ssrc;
+		return SsrcUtil.getPlayBackSsrc();
 	}
 	
-	public void put(String ssrc,ClientTransaction transaction){
-		sessionMap.put(ssrc, transaction);
+	public void put(String streamId,String ssrc,ClientTransaction transaction){
+		sessionMap.put(streamId, transaction);
+		ssrcMap.put(streamId, ssrc);
 	}
 	
-	public ClientTransaction get(String ssrc){
-		return sessionMap.get(ssrc);
+	public ClientTransaction get(String streamId){
+		return sessionMap.get(streamId);
 	}
 	
-	public void remove(String ssrc) {
-		sessionMap.remove(ssrc);
-		SsrcUtil.releaseSsrc(ssrc);
+	public void remove(String streamId) {
+		sessionMap.remove(streamId);
+		SsrcUtil.releaseSsrc(ssrcMap.get(streamId));
+		ssrcMap.remove(streamId);
 	}
 }

--
Gitblit v1.8.0