From fa80ba6f2bf4b69c0c6ad64e164f21f0bad72fa4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 12 六月 2023 22:54:40 +0800 Subject: [PATCH] 修复sdp解析错误 --- src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java index 29f1654..1d4ce4b 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/SipUtils.java @@ -207,22 +207,18 @@ if (mediaDescriptionIndex == 0 && ssrcIndex == 0) { sdp = SdpFactory.getInstance().createSessionDescription(sdpStr); }else { - int baseSdpIndex = Math.min(mediaDescriptionIndex, ssrcIndex); - //ssrc瑙勫畾闀垮害涓�10瀛楄妭锛屼笉鍙栦綑涓嬮暱搴︿互閬垮厤鍚庣画杩樻湁鈥渇=鈥濆瓧娈� - String substring = sdpStr.substring(0, baseSdpIndex); - sdp = SdpFactory.getInstance().createSessionDescription(substring); - String lines[] = sdpStr.split("\\r?\\n"); + StringBuilder sdpBuffer = new StringBuilder(); for (String line : lines) { if (line.trim().startsWith("y=")) { ssrc = line.substring(2); }else if (line.trim().startsWith("f=")) { mediaDescription = line.substring(2); - } - if (ssrc != null && mediaDescription != null) { - break; + }else { + sdpBuffer.append(line.trim()).append("\r\n"); } } + sdp = SdpFactory.getInstance().createSessionDescription(sdpBuffer.toString()); } return Gb28181Sdp.getInstance(sdp, ssrc, mediaDescription); } -- Gitblit v1.8.0