From eca1e05aeed3c51cce36bbce80c71bc3cbcea87d Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 12 十一月 2021 14:40:39 +0800 Subject: [PATCH] 维护目录订阅消息与接口 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-) 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 30bca1d..98df8dd 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 @@ -76,9 +76,9 @@ if (logger.isDebugEnabled()) { logger.debug(String.format("璁惧鍥炴斁 API璋冪敤锛宒eviceId锛�%s 锛宑hannelId锛�%s", deviceId, channelId)); } - UUID uuid = UUID.randomUUID(); + String uuid = UUID.randomUUID().toString(); + String key = DeferredResultHolder.CALLBACK_CMD_PLAY + deviceId + channelId; DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(30000L); - Device device = storager.queryVideoDevice(deviceId); if (device == null) { result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); @@ -91,7 +91,8 @@ result.onTimeout(()->{ logger.warn(String.format("璁惧鍥炴斁瓒呮椂锛宒eviceId锛�%s 锛宑hannelId锛�%s", deviceId, channelId)); RequestMessage msg = new RequestMessage(); - msg.setId(DeferredResultHolder.CALLBACK_CMD_PLAY + uuid); + msg.setId(uuid); + msg.setKey(key); msg.setData("Timeout"); resultHolder.invokeResult(msg); }); @@ -101,12 +102,13 @@ // 鍋滄涔嬪墠鐨勫洖鏀� cmder.streamByeCmd(deviceId, channelId); } - resultHolder.put(DeferredResultHolder.CALLBACK_CMD_PLAY + uuid, result); + resultHolder.put(DeferredResultHolder.CALLBACK_CMD_PLAY + deviceId + channelId, uuid, result); if (newMediaServerItem == null) { logger.warn(String.format("璁惧鍥炴斁瓒呮椂锛宒eviceId锛�%s 锛宑hannelId锛�%s", deviceId, channelId)); RequestMessage msg = new RequestMessage(); - msg.setId(DeferredResultHolder.CALLBACK_CMD_PLAY + uuid); + msg.setId(uuid); + msg.setKey(key); msg.setData("Timeout"); resultHolder.invokeResult(msg); return result; @@ -116,10 +118,10 @@ logger.info("鏀跺埌璁㈤槄娑堟伅锛� " + response.toJSONString()); playService.onPublishHandlerForPlayBack(mediaServerItem, response, deviceId, channelId, uuid.toString()); }, event -> { - Response response = event.getResponse(); RequestMessage msg = new RequestMessage(); - msg.setId(DeferredResultHolder.CALLBACK_CMD_PLAY + uuid); - msg.setData(String.format("鍥炴斁澶辫触锛� 閿欒鐮侊細 %s, %s", response.getStatusCode(), response.getReasonPhrase())); + msg.setId(uuid); + msg.setKey(key); + msg.setData(String.format("鍥炴斁澶辫触锛� 閿欒鐮侊細 %s, %s", event.statusCode, event.msg)); resultHolder.invokeResult(msg); }); -- Gitblit v1.8.0