From 0a404e23896b566a4dc017431951f8b73578ed73 Mon Sep 17 00:00:00 2001
From: 百鸣 <94030128+ixingqiao@users.noreply.github.com>
Date: 星期五, 26 八月 2022 11:49:43 +0800
Subject: [PATCH] Merge branch '648540858:wvp-28181-2.0' into wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 50 +++++++++++++++++++++++++++-----------------------
1 files changed, 27 insertions(+), 23 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 85bc39d..b4d254a 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
@@ -14,6 +14,7 @@
import gov.nist.javax.sip.stack.SIPDialog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
/**
@@ -23,9 +24,6 @@
*/
@Component
public class VideoStreamSessionManager {
-
- @Autowired
- private RedisUtil redisUtil;
@Autowired
private UserSetting userSetting;
@@ -58,9 +56,9 @@
ssrcTransaction.setMediaServerId(mediaServerId);
ssrcTransaction.setType(type);
- redisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction);
- redisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ "_" + deviceId + "_" + channelId + "_" + callId + "_" + stream, ssrcTransaction);
}
@@ -70,7 +68,7 @@
byte[] dialogByteArray = SerializeUtils.serialize(dialog);
ssrcTransaction.setDialog(dialogByteArray);
}
- redisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ RedisUtil.set(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId()
+ "_" + deviceId + "_" + channelId + "_" + ssrcTransaction.getCallId() + "_"
+ ssrcTransaction.getStream(), ssrcTransaction);
}
@@ -99,8 +97,8 @@
return dialog;
}
- public SIPDialog getDialogByCallId(String deviceId, String channelId, String callID){
- SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, callID, null);
+ public SIPDialog getDialogByCallId(String deviceId, String channelId, String callId){
+ SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, callId, null);
if (ssrcTransaction == null) {
return null;
}
@@ -108,46 +106,52 @@
if (dialogByteArray == null) {
return null;
}
- SIPDialog dialog = (SIPDialog)SerializeUtils.deSerialize(dialogByteArray);
- return dialog;
+ return (SIPDialog)SerializeUtils.deSerialize(dialogByteArray);
}
public SsrcTransaction getSsrcTransaction(String deviceId, String channelId, String callId, String stream){
- if (StringUtils.isEmpty(callId)) {
+
+ if (ObjectUtils.isEmpty(deviceId)) {
+ deviceId ="*";
+ }
+ if (ObjectUtils.isEmpty(channelId)) {
+ channelId ="*";
+ }
+ if (ObjectUtils.isEmpty(callId)) {
callId ="*";
}
- if (StringUtils.isEmpty(stream)) {
+ if (ObjectUtils.isEmpty(stream)) {
stream ="*";
}
String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
- List<Object> scanResult = redisUtil.scan(key);
+ List<Object> scanResult = RedisUtil.scan(key);
if (scanResult.size() == 0) {
return null;
}
- return (SsrcTransaction)redisUtil.get((String) scanResult.get(0));
+ return (SsrcTransaction)RedisUtil.get((String) scanResult.get(0));
}
public List<SsrcTransaction> getSsrcTransactionForAll(String deviceId, String channelId, String callId, String stream){
- if (StringUtils.isEmpty(deviceId)) {
+ if (ObjectUtils.isEmpty(deviceId)) {
deviceId ="*";
}
- if (StringUtils.isEmpty(channelId)) {
+ if (ObjectUtils.isEmpty(channelId)) {
channelId ="*";
}
- if (StringUtils.isEmpty(callId)) {
+ if (ObjectUtils.isEmpty(callId)) {
callId ="*";
}
- if (StringUtils.isEmpty(stream)) {
+ if (ObjectUtils.isEmpty(stream)) {
stream ="*";
}
String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
- List<Object> scanResult = redisUtil.scan(key);
+ List<Object> scanResult = RedisUtil.scan(key);
if (scanResult.size() == 0) {
return null;
}
List<SsrcTransaction> result = new ArrayList<>();
for (Object keyObj : scanResult) {
- result.add((SsrcTransaction)redisUtil.get((String) keyObj));
+ result.add((SsrcTransaction)RedisUtil.get((String) keyObj));
}
return result;
}
@@ -173,17 +177,17 @@
if (ssrcTransaction == null) {
return;
}
- redisUtil.del(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_"
+ RedisUtil.del(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_"
+ deviceId + "_" + channelId + "_" + ssrcTransaction.getCallId() + "_" + ssrcTransaction.getStream());
}
public List<SsrcTransaction> getAllSsrc() {
- List<Object> ssrcTransactionKeys = redisUtil.scan(String.format("%s_*_*_*_*", VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX+ userSetting.getServerId() + "_" ));
+ List<Object> ssrcTransactionKeys = RedisUtil.scan(String.format("%s_*_*_*_*", VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX+ userSetting.getServerId()));
List<SsrcTransaction> result= new ArrayList<>();
for (int i = 0; i < ssrcTransactionKeys.size(); i++) {
String key = (String)ssrcTransactionKeys.get(i);
- SsrcTransaction ssrcTransaction = (SsrcTransaction)redisUtil.get(key);
+ SsrcTransaction ssrcTransaction = (SsrcTransaction)RedisUtil.get(key);
result.add(ssrcTransaction);
}
return result;
--
Gitblit v1.8.0