From e473ab185d58eee77f38250b9fe813f77fb3e5c6 Mon Sep 17 00:00:00 2001 From: lin <648540858@qq.com> Date: Wed, 12 Mar 2025 16:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=92=AD=E6=94=BE=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=90=BA=E5=B8=A6=E6=B5=81=E6=9D=A5=E6=BA=90=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=8F=82=E6=95=B0=E6=B7=BB=E5=8A=A0=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MediaServerServiceImpl.java | 29 ++++++++++--------- .../media/zlm/ZLMMediaNodeServerService.java | 29 ++++++++++--------- 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java index d9a3b965..cf85ba48 100755 --- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java +++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java @@ -823,20 +823,23 @@ public class MediaServerServiceImpl implements IMediaServerService { } streamInfoResult.setMediaServer(mediaServer); - StringBuilder callIdParamBuilder = new StringBuilder();; - if (!ObjectUtils.isEmpty(callId) || (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr()))) { - StringBuilder stringBuilder = new StringBuilder(); - if (!ObjectUtils.isEmpty(callId)) { - stringBuilder.append("callId=").append(callId); - } - if (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr())) { - if (!ObjectUtils.isEmpty(callId)) { - stringBuilder.append("&"); - } - stringBuilder.append("originTypeStr=").append(mediaInfo.getOriginTypeStr()); - } - callIdParamBuilder.append("?").append(stringBuilder); + Map param = new HashMap<>(); + if (!ObjectUtils.isEmpty(callId)) { + param.put("callId", callId); } + if (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr())) { + param.put("originTypeStr", mediaInfo.getOriginTypeStr()); + } + StringBuilder callIdParamBuilder = new StringBuilder(); + if (!param.isEmpty()) { + callIdParamBuilder.append("?"); + for (Map.Entry entry : param.entrySet()) { + callIdParamBuilder.append(entry.getKey()).append("=").append(entry.getValue()); + callIdParamBuilder.append("&"); + } + callIdParamBuilder.deleteCharAt(callIdParamBuilder.length() - 1); + } + String callIdParam = callIdParamBuilder.toString(); streamInfoResult.setRtmp(addr, mediaServer.getRtmpPort(),mediaServer.getRtmpSSlPort(), app, stream, callIdParam); diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java index a2af2f68..d6091127 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java @@ -206,20 +206,23 @@ public class ZLMMediaNodeServerService implements IMediaNodeServerService { streamInfoResult.setIp(addr); streamInfoResult.setMediaServer(mediaServer); - StringBuilder callIdParamBuilder = new StringBuilder();; - if (!ObjectUtils.isEmpty(callId) || (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr()))) { - StringBuilder stringBuilder = new StringBuilder(); - if (!ObjectUtils.isEmpty(callId)) { - stringBuilder.append("callId=").append(callId); - } - if (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr())) { - if (!ObjectUtils.isEmpty(callId)) { - stringBuilder.append("&"); - } - stringBuilder.append("originTypeStr=").append(mediaInfo.getOriginTypeStr()); - } - callIdParamBuilder.append("?").append(stringBuilder); + Map param = new HashMap<>(); + if (!ObjectUtils.isEmpty(callId)) { + param.put("callId", callId); } + if (mediaInfo != null && !ObjectUtils.isEmpty(mediaInfo.getOriginTypeStr())) { + param.put("originTypeStr", mediaInfo.getOriginTypeStr()); + } + StringBuilder callIdParamBuilder = new StringBuilder(); + if (!param.isEmpty()) { + callIdParamBuilder.append("?"); + for (Map.Entry entry : param.entrySet()) { + callIdParamBuilder.append(entry.getKey()).append("=").append(entry.getValue()); + callIdParamBuilder.append("&"); + } + callIdParamBuilder.deleteCharAt(callIdParamBuilder.length() - 1); + } + String callIdParam = callIdParamBuilder.toString(); streamInfoResult.setRtmp(addr, mediaServer.getRtmpPort(),mediaServer.getRtmpSSlPort(), app, stream, callIdParam);