From aed45e0f0dfa02e633c126b2e6d437b4db8769d4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 28 十月 2022 16:40:12 +0800 Subject: [PATCH] 优化多网卡 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java | 16 +++++++++++++--- 1 files changed, 13 insertions(+), 3 deletions(-) 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 d22e56b..66e750c 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 @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONArray; import com.genersoft.iot.vmp.common.StreamInfo; +import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.conf.exception.ControllerException; import com.genersoft.iot.vmp.conf.exception.SsrcTransactionNotFoundException; import com.genersoft.iot.vmp.gb28181.bean.SsrcTransaction; @@ -37,6 +38,8 @@ import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import org.springframework.web.context.request.async.DeferredResult; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; import javax.sip.InvalidArgumentException; import javax.sip.SipException; import java.text.ParseException; @@ -78,18 +81,25 @@ @Autowired private IMediaServerService mediaServerService; + @Autowired + private UserSetting userSetting; + @Operation(summary = "寮�濮嬬偣鎾�") @Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true) @Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true) @GetMapping("/start/{deviceId}/{channelId}") - public DeferredResult<WVPResult<StreamInfo>> play(@PathVariable String deviceId, - @PathVariable String channelId) { + public DeferredResult<WVPResult<StreamInfo>> play(HttpServletRequest request, @PathVariable String deviceId, + @PathVariable String channelId) { // 鑾峰彇鍙敤鐨剒lm Device device = storager.queryVideoDevice(deviceId); MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null, null); - + playResult.getResult().onCompletion(()->{ + WVPResult<StreamInfo> result = (WVPResult<StreamInfo>)playResult.getResult().getResult(); + result.getData().channgeStreamIp(request.getLocalAddr()); + playResult.getResult().setResult(result); + }); return playResult.getResult(); } -- Gitblit v1.8.0