648540858
2022-11-21 8cab9f23b07dca8aa20f117aaf420597f14a0fe3
修复使用来源IP作为流ip配置
1个文件已修改
34 ■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -106,22 +106,24 @@
            resultHolder.invokeResult(msg);
        });
        // TODO 在点播未成功的情况下在此调用接口点播会导致返回的流地址ip错误
        deferredResultEx.setFilter(result1 -> {
            WVPResult<StreamInfo> wvpResult1 = (WVPResult<StreamInfo>)result1;
            WVPResult<StreamInfo> clone = null;
            try {
                clone = (WVPResult<StreamInfo>)wvpResult1.clone();
            } catch (CloneNotSupportedException e) {
                throw new RuntimeException(e);
            }
            if (clone.getCode() == ErrorCode.SUCCESS.getCode()) {
                StreamInfo data = clone.getData().clone();
                data.channgeStreamIp(request.getLocalName());
                clone.setData(data);
            }
            return clone;
        });
        if (userSetting.getUseSourceIpAsStreamIp()) {
            // TODO 在点播未成功的情况下在此调用接口点播会导致返回的流地址ip错误
            deferredResultEx.setFilter(result1 -> {
                WVPResult<StreamInfo> wvpResult1 = (WVPResult<StreamInfo>)result1;
                WVPResult<StreamInfo> clone = null;
                try {
                    clone = (WVPResult<StreamInfo>)wvpResult1.clone();
                } catch (CloneNotSupportedException e) {
                    throw new RuntimeException(e);
                }
                if (clone.getCode() == ErrorCode.SUCCESS.getCode()) {
                    StreamInfo data = clone.getData().clone();
                    data.channgeStreamIp(request.getLocalName());
                    clone.setData(data);
                }
                return clone;
            });
        }
        // 录像查询以channelId作为deviceId查询
        resultHolder.put(key, uuid, deferredResultEx);