From 7fc38ad9b38a67721ca068494115a8031eb21d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=93=E6=B3=BD=E5=AE=87?= <393911462@qq.com> Date: Sat, 27 Nov 2021 19:27:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=82=B9=E6=92=AD=E8=A7=86=E9=A2=91?= =?UTF-8?q?=EF=BC=8C=E7=9B=B4=E6=92=AD=EF=BC=8C=E4=BB=A5=E5=8F=8A=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E8=A7=86=E9=A2=91=E6=97=B6=E5=88=A4=E6=96=AD=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=98=AF=E5=90=A6=E5=9C=A8=E7=BA=BF=EF=BC=8C=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E4=B8=8D=E5=9C=A8=E7=BA=BF=E7=9B=B4=E6=8E=A5=E8=BF=94?= =?UTF-8?q?=E5=9B=9E400?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vmp/vmanager/gb28181/play/PlayController.java | 13 ++++++++++++- .../gb28181/playback/DownloadController.java | 10 ++++++++++ .../gb28181/playback/PlaybackController.java | 6 ++++++ 3 files changed, 28 insertions(+), 1 deletion(-) 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 c22a5584..c9928470 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 @@ -85,8 +85,19 @@ public class PlayController { public DeferredResult> play(@PathVariable String deviceId, @PathVariable String channelId) { - // 获取可用的zlm + DeferredResult> result = new DeferredResult>(30000L); +//判断设备是否在线以及是否存在 Device device = storager.queryVideoDevice(deviceId); + if (device == null) { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + // 获取可用的zlm MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null); diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java index 3f846c60..05afa710 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java @@ -93,6 +93,16 @@ public class DownloadController { } resultHolder.put(key, uuid, result); Device device = storager.queryVideoDevice(deviceId); + if (device == null) { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + //判断设备是否在线,不在线直接返回 + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } StreamInfo streamInfo = redisCatchStorage.queryPlaybackByDevice(deviceId, channelId); if (streamInfo != null) { // 停止之前的下载 diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java index fd1f2ab3..c5755be9 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java @@ -85,6 +85,12 @@ public class PlaybackController { result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); return result; } + //判断设备是否在线,不在线直接返回 + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); SSRCInfo ssrcInfo = mediaServerService.openRTPServer(newMediaServerItem, null, true);