From 97bd082a402eb5101ff2e1a3227ab4a09b9f6857 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Mon, 12 Jun 2023 22:54:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dsdp=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../genersoft/iot/vmp/gb28181/utils/SipUtils.java | 12 ++++-------- 1 file 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 29f1654c..1d4ce4b4 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 @@ public class SipUtils { if (mediaDescriptionIndex == 0 && ssrcIndex == 0) { sdp = SdpFactory.getInstance().createSessionDescription(sdpStr); }else { - int baseSdpIndex = Math.min(mediaDescriptionIndex, ssrcIndex); - //ssrc规定长度为10字节,不取余下长度以避免后续还有“f=”字段 - 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); }