Browse Source

修复 流已经关闭后,再次调用关闭流的接口,返回超时

pull/93/head
panlinlin 4 years ago
parent
commit
c5f2aba9b2
  1. 1
      src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
  2. 3
      src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
  3. 4
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java

1
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java

@ -44,5 +44,6 @@ public class VideoStreamSessionManager {
sessionMap.remove(deviceId + "_" + channelId); sessionMap.remove(deviceId + "_" + channelId);
SsrcUtil.releaseSsrc(ssrcMap.get(deviceId + "_" + channelId)); SsrcUtil.releaseSsrc(ssrcMap.get(deviceId + "_" + channelId));
ssrcMap.remove(deviceId + "_" + channelId); ssrcMap.remove(deviceId + "_" + channelId);
streamIdMap.remove(deviceId + "_" + channelId);
} }
} }

3
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java

@ -581,8 +581,9 @@ public class SIPCommander implements ISIPCommander {
if (transaction == null) { if (transaction == null) {
StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId); StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
if (streamInfo != null) { if (streamInfo != null) {
redisCatchStorage.stopPlay(streamInfo);
} }
okEvent.response(null);
return; return;
} }

4
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java

@ -99,8 +99,8 @@ public class PlayController {
StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId); StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
if (streamInfo == null) { if (streamInfo == null) {
RequestMessage msg = new RequestMessage(); RequestMessage msg = new RequestMessage();
msg.setId(DeferredResultHolder.CALLBACK_CMD_PlAY + uuid); msg.setId(DeferredResultHolder.CALLBACK_CMD_STOP + uuid);
msg.setData("streamId not found"); msg.setData("点播未找到");
resultHolder.invokeResult(msg); resultHolder.invokeResult(msg);
}else { }else {
redisCatchStorage.stopPlay(streamInfo); redisCatchStorage.stopPlay(streamInfo);

Loading…
Cancel
Save