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