From 86a701ce885871d2468ec31eb13be5595673a01b Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 28 三月 2024 10:24:13 +0800
Subject: [PATCH] Merge branch 'master' into dev/abl支持
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 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 1c00dc3..24d4ef3 100755
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
@@ -75,6 +75,33 @@
return (SsrcTransaction)redisTemplate.opsForValue().get(scanResult.get(0));
}
+ public SsrcTransaction getSsrcTransactionByCallId(String callId){
+
+ if (ObjectUtils.isEmpty(callId)) {
+ return null;
+ }
+ String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_*_*_" + callId+ "_*";
+ List<Object> scanResult = RedisUtil.scan(redisTemplate, key);
+ if (!scanResult.isEmpty()) {
+ return (SsrcTransaction)redisTemplate.opsForValue().get(scanResult.get(0));
+ }else {
+ key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_*_*_play_*";
+ scanResult = RedisUtil.scan(redisTemplate, key);
+ if (scanResult.isEmpty()) {
+ return null;
+ }
+ for (Object keyObj : scanResult) {
+ SsrcTransaction ssrcTransaction = (SsrcTransaction)redisTemplate.opsForValue().get(keyObj);
+ if (ssrcTransaction.getSipTransactionInfo() != null &&
+ ssrcTransaction.getSipTransactionInfo().getCallId().equals(callId)) {
+ return ssrcTransaction;
+ }
+ }
+ return null;
+ }
+
+ }
+
public List<SsrcTransaction> getSsrcTransactionForAll(String deviceId, String channelId, String callId, String stream){
if (ObjectUtils.isEmpty(deviceId)) {
deviceId ="*";
--
Gitblit v1.8.0