chenparty
2021-09-26 35e222482b26d5e672eb5939a24458fc30a7d37f
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -37,7 +37,6 @@
import org.springframework.web.context.request.async.DeferredResult;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import javax.sip.message.Response;
@@ -102,7 +101,7 @@
   @GetMapping("/stop/{deviceId}/{channelId}")
   public DeferredResult<ResponseEntity<String>> playStop(@PathVariable String deviceId, @PathVariable String channelId) {
      logger.debug(String.format("设备预览/回放停止API调用,streamId:%s/$s", deviceId, channelId ));
      logger.debug(String.format("设备预览/回放停止API调用,streamId:%s_%s", deviceId, channelId ));
      UUID uuid = UUID.randomUUID();
      DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>();
@@ -148,7 +147,7 @@
      // 超时处理
      result.onTimeout(()->{
         logger.warn(String.format("设备预览/回放停止超时,deviceId/channelId:%s/$s ", deviceId, channelId));
         logger.warn(String.format("设备预览/回放停止超时,deviceId/channelId:%s_%s ", deviceId, channelId));
         RequestMessage msg = new RequestMessage();
         msg.setId(DeferredResultHolder.CALLBACK_CMD_STOP + uuid);
         msg.setData("Timeout");
@@ -168,7 +167,10 @@
   })
   @PostMapping("/convert/{streamId}")
   public ResponseEntity<String> playConvert(@PathVariable String streamId) {
      StreamInfo streamInfo = streamId.startsWith("gb_play_") ? redisCatchStorage.queryPlayByStreamId(streamId) : redisCatchStorage.queryPlaybackByStreamId(streamId);
      StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId);
      if (streamInfo == null) {
         streamInfo = redisCatchStorage.queryPlaybackByStreamId(streamId);
      }
      if (streamInfo == null) {
         logger.warn("视频转码API调用失败!, 视频流已经停止!");
         return new ResponseEntity<String>("未找到视频流信息, 视频流可能已经停止", HttpStatus.OK);