From e6790d88fc5b1ac33d239c0d90ce6cdea666b821 Mon Sep 17 00:00:00 2001
From: mk1990 <153958232@qq.com>
Date: 星期一, 16 五月 2022 10:14:24 +0800
Subject: [PATCH] Merge branch 'wvp-28181-2.0' of https://github.com/mk1990/wvp-GB28181-pro into wvp-28181-2.0

---
 src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java |   68 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 18 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 0051b03..85bc39d 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
@@ -76,9 +76,11 @@
 	}
 
 	
-	public ClientTransaction getTransactionByStream(String deviceId, String channelId, String stream){
-		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, null, stream);
-		if (ssrcTransaction == null) return null;
+	public ClientTransaction getTransaction(String deviceId, String channelId, String stream, String callId){
+		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, callId, stream);
+		if (ssrcTransaction == null) {
+			return null;
+		}
 		byte[] transactionByteArray = ssrcTransaction.getTransaction();
 		ClientTransaction clientTransaction = (ClientTransaction)SerializeUtils.deSerialize(transactionByteArray);
 		return clientTransaction;
@@ -86,39 +88,63 @@
 
 	public SIPDialog getDialogByStream(String deviceId, String channelId, String stream){
 		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, null, stream);
-		if (ssrcTransaction == null) return null;
+		if (ssrcTransaction == null) {
+			return null;
+		}
 		byte[] dialogByteArray = ssrcTransaction.getDialog();
-		if (dialogByteArray == null) return null;
+		if (dialogByteArray == null) {
+			return null;
+		}
 		SIPDialog dialog = (SIPDialog)SerializeUtils.deSerialize(dialogByteArray);
 		return dialog;
 	}
 
 	public SIPDialog getDialogByCallId(String deviceId, String channelId, String callID){
 		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, callID, null);
-		if (ssrcTransaction == null) return null;
+		if (ssrcTransaction == null) {
+			return null;
+		}
 		byte[] dialogByteArray = ssrcTransaction.getDialog();
-		if (dialogByteArray == null) return null;
+		if (dialogByteArray == null) {
+			return null;
+		}
 		SIPDialog dialog = (SIPDialog)SerializeUtils.deSerialize(dialogByteArray);
 		return dialog;
 	}
 
 	public SsrcTransaction getSsrcTransaction(String deviceId, String channelId, String callId, String stream){
-		if (StringUtils.isEmpty(callId)) callId ="*";
-		if (StringUtils.isEmpty(stream)) stream ="*";
+		if (StringUtils.isEmpty(callId)) {
+			callId ="*";
+		}
+		if (StringUtils.isEmpty(stream)) {
+			stream ="*";
+		}
 		String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
 		List<Object> scanResult = redisUtil.scan(key);
-		if (scanResult.size() == 0) return null;
+		if (scanResult.size() == 0) {
+			return null;
+		}
 		return (SsrcTransaction)redisUtil.get((String) scanResult.get(0));
 	}
 
 	public List<SsrcTransaction> getSsrcTransactionForAll(String deviceId, String channelId, String callId, String stream){
-		if (StringUtils.isEmpty(deviceId)) deviceId ="*";
-		if (StringUtils.isEmpty(channelId)) channelId ="*";
-		if (StringUtils.isEmpty(callId)) callId ="*";
-		if (StringUtils.isEmpty(stream)) stream ="*";
+		if (StringUtils.isEmpty(deviceId)) {
+			deviceId ="*";
+		}
+		if (StringUtils.isEmpty(channelId)) {
+			channelId ="*";
+		}
+		if (StringUtils.isEmpty(callId)) {
+			callId ="*";
+		}
+		if (StringUtils.isEmpty(stream)) {
+			stream ="*";
+		}
 		String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
 		List<Object> scanResult = redisUtil.scan(key);
-		if (scanResult.size() == 0) return null;
+		if (scanResult.size() == 0) {
+			return null;
+		}
 		List<SsrcTransaction> result = new ArrayList<>();
 		for (Object keyObj : scanResult) {
 			result.add((SsrcTransaction)redisUtil.get((String) keyObj));
@@ -128,19 +154,25 @@
 
 	public String getMediaServerId(String deviceId, String channelId, String stream){
 		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, null, stream);
-		if (ssrcTransaction == null) return null;
+		if (ssrcTransaction == null) {
+			return null;
+		}
 		return ssrcTransaction.getMediaServerId();
 	}
 
 	public String getSSRC(String deviceId, String channelId, String stream){
 		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, null, stream);
-		if (ssrcTransaction == null) return null;
+		if (ssrcTransaction == null) {
+			return null;
+		}
 		return ssrcTransaction.getSsrc();
 	}
 	
 	public void remove(String deviceId, String channelId, String stream) {
 		SsrcTransaction ssrcTransaction = getSsrcTransaction(deviceId, channelId, null, stream);
-		if (ssrcTransaction == null) return;
+		if (ssrcTransaction == null) {
+			return;
+		}
 		redisUtil.del(VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_"
 				+  deviceId + "_" + channelId + "_" + ssrcTransaction.getCallId() + "_" + ssrcTransaction.getStream());
 	}

--
Gitblit v1.8.0