From a3649ca243f827f78b85dbb41af2c3d7d978aa89 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期二, 27 四月 2021 15:38:00 +0800
Subject: [PATCH] 优化mysql建库脚本
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 34 ++++++++++++++++++++++------------
1 files changed, 22 insertions(+), 12 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 f8b9350..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
@@ -8,34 +8,44 @@
/**
* @Description:瑙嗛娴乻ession绠$悊鍣紝绠$悊瑙嗛棰勮銆侀瑙堝洖鏀剧殑閫氫俊鍙ユ焺
- * @author: songww
+ * @author: swwheihei
* @date: 2020骞�5鏈�13鏃� 涓嬪崍4:03:02
*/
@Component
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