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