From f95ca2248ed0a0ea8f92f9ed2dd3145ce520f8a6 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 08 三月 2024 09:39:19 +0800
Subject: [PATCH] 更新readme
---
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