From c5f2aba9b20089f184ce175b58a33a881ea9e0b1 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期五, 16 四月 2021 18:23:13 +0800
Subject: [PATCH] 修复 流已经关闭后,再次调用关闭流的接口,返回超时
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java | 1 +
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 3 ++-
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java | 4 ++--
3 files changed, 5 insertions(+), 3 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 360472f..b6c0dfc 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
@@ -44,5 +44,6 @@
sessionMap.remove(deviceId + "_" + channelId);
SsrcUtil.releaseSsrc(ssrcMap.get(deviceId + "_" + channelId));
ssrcMap.remove(deviceId + "_" + channelId);
+ streamIdMap.remove(deviceId + "_" + channelId);
}
}
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index e0d0bf3..4263a78 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -581,8 +581,9 @@
if (transaction == null) {
StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
if (streamInfo != null) {
-
+ redisCatchStorage.stopPlay(streamInfo);
}
+ okEvent.response(null);
return;
}
diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
index f9b6a35..3d4c64c 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -99,8 +99,8 @@
StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
if (streamInfo == null) {
RequestMessage msg = new RequestMessage();
- msg.setId(DeferredResultHolder.CALLBACK_CMD_PlAY + uuid);
- msg.setData("streamId not found");
+ msg.setId(DeferredResultHolder.CALLBACK_CMD_STOP + uuid);
+ msg.setData("鐐规挱鏈壘鍒�");
resultHolder.invokeResult(msg);
}else {
redisCatchStorage.stopPlay(streamInfo);
--
Gitblit v1.8.0