From e1fcc1f21f6622871a5507fcd50aacfa99181879 Mon Sep 17 00:00:00 2001
From: 64850858 <648540858@qq.com>
Date: 星期四, 08 七月 2021 14:48:00 +0800
Subject: [PATCH] 补充swf文件
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 32 +++++++++++++++++++++-----------
1 files changed, 21 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..5ea57c1 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,37 @@
public class VideoStreamSessionManager {
private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>();
+ private ConcurrentHashMap<String, String> ssrcMap = new ConcurrentHashMap<>();
+ private ConcurrentHashMap<String, String> streamIdMap = 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 deviceId, String channelId ,String ssrc, String streamId, ClientTransaction transaction){
+ sessionMap.put(deviceId + "_" + channelId, transaction);
+ ssrcMap.put(deviceId + "_" + channelId, ssrc);
+ streamIdMap.put(deviceId + "_" + channelId, streamId);
}
- public ClientTransaction get(String ssrc){
- return sessionMap.get(ssrc);
+ public ClientTransaction getTransaction(String deviceId, String channelId){
+ return sessionMap.get(deviceId + "_" + channelId);
+ }
+
+ public String getStreamId(String deviceId, String channelId){
+ return streamIdMap.get(deviceId + "_" + channelId);
}
- public void remove(String ssrc) {
- sessionMap.remove(ssrc);
- SsrcUtil.releaseSsrc(ssrc);
+ public void remove(String deviceId, String channelId) {
+ sessionMap.remove(deviceId + "_" + channelId);
+ if (ssrcMap.get(deviceId + "_" + channelId) != null) {
+ SsrcUtil.releaseSsrc(ssrcMap.get(deviceId + "_" + channelId));
+ }
+ ssrcMap.remove(deviceId + "_" + channelId);
+ streamIdMap.remove(deviceId + "_" + channelId);
}
}
--
Gitblit v1.8.0