From 00e61d9a80b5b013a75d1ce567dc997694577a45 Mon Sep 17 00:00:00 2001
From: panlinlin <648540858@qq.com>
Date: 星期一, 28 十二月 2020 11:45:40 +0800
Subject: [PATCH] 增加对 需要扩展SDP的设备的单独设置

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java |   72 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index 50ec455..3f0adfd 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -68,6 +68,9 @@
 	@Value("${media.rtp.enable}")
 	private boolean rtpEnable;
 
+	@Value("${media.seniorSdp}")
+	private boolean seniorSdp;
+
 	@Autowired
 	private ZLMHttpHookSubscribe subscribe;
 
@@ -396,30 +399,53 @@
 				mediaPort = mediaInfo.getRtpProxyPort();
 			}
 			String streamMode = device.getStreamMode().toUpperCase();
-			if("TCP-PASSIVE".equals(streamMode)) {
-				content.append("m=video "+ mediaPort +" TCP/RTP/AVP 126 125 99 34 98 97 96\r\n");
-			}else if ("TCP-ACTIVE".equals(streamMode)) {
-				content.append("m=video "+ mediaPort +" TCP/RTP/AVP 126 125 99 34 98 97 96\r\n");
-			}else if("UDP".equals(streamMode)) {
-				content.append("m=video "+ mediaPort +" RTP/AVP 126 125 99 34 98 97 96\r\n");
+
+			if (seniorSdp) {
+				if("TCP-PASSIVE".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" TCP/RTP/AVP 126 125 99 34 98 97 96\r\n");
+				}else if ("TCP-ACTIVE".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" TCP/RTP/AVP 126 125 99 34 98 97 96\r\n");
+				}else if("UDP".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" RTP/AVP 126 125 99 34 98 97 96\r\n");
+				}
+				content.append("a=recvonly\r\n");
+				content.append("a=fmtp:126 profile-level-id=42e01e\r\n");
+				content.append("a=rtpmap:126 H264/90000\r\n");
+				content.append("a=rtpmap:125 H264S/90000\r\n");
+				content.append("a=fmtp:125 profile-level-id=42e01e\r\n");
+				content.append("a=rtpmap:99 MP4V-ES/90000\r\n");
+				content.append("a=fmtp:99 profile-level-id=3\r\n");
+				content.append("a=rtpmap:98 H264/90000\r\n");
+				content.append("a=rtpmap:97 MPEG4/90000\r\n");
+				content.append("a=rtpmap:96 PS/90000\r\n");
+				if("TCP-PASSIVE".equals(streamMode)){ // tcp琚姩妯″紡
+					content.append("a=setup:passive\r\n");
+					content.append("a=connection:new\r\n");
+				}else if ("TCP-ACTIVE".equals(streamMode)) { // tcp涓诲姩妯″紡
+					content.append("a=setup:active\r\n");
+					content.append("a=connection:new\r\n");
+				}
+			}else {
+				if("TCP-PASSIVE".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
+				}else if ("TCP-ACTIVE".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
+				}else if("UDP".equals(streamMode)) {
+					content.append("m=video "+ mediaPort +" RTP/AVP 96 98 97\r\n");
+				}
+				content.append("a=recvonly\r\n");
+				content.append("a=rtpmap:96 PS/90000\r\n");
+				content.append("a=rtpmap:98 H264/90000\r\n");
+				content.append("a=rtpmap:97 MPEG4/90000\r\n");
+				if("TCP-PASSIVE".equals(streamMode)){ // tcp琚姩妯″紡
+					content.append("a=setup:passive\r\n");
+					content.append("a=connection:new\r\n");
+				}else if ("TCP-ACTIVE".equals(streamMode)) { // tcp涓诲姩妯″紡
+					content.append("a=setup:active\r\n");
+					content.append("a=connection:new\r\n");
+				}
 			}
-			content.append("a=recvonly\r\n");
-			content.append("a=fmtp:126 profile-level-id=42e01e\r\n");
-			content.append("a=rtpmap:126 H264/90000\r\n");
-			content.append("a=rtpmap:125 H264S/90000\r\n");
-			content.append("a=fmtp:125 profile-level-id=42e01e\r\n");
-			content.append("a=rtpmap:99 MP4V-ES/90000\r\n");
-			content.append("a=fmtp:99 profile-level-id=3\r\n");
-			content.append("a=rtpmap:98 H264/90000\r\n");
-			content.append("a=rtpmap:97 MPEG4/90000\r\n");
-			content.append("a=rtpmap:96 PS/90000\r\n");
-			if("TCP-PASSIVE".equals(streamMode)){ // tcp琚姩妯″紡
-				content.append("a=setup:passive\r\n");
-				content.append("a=connection:new\r\n");
-			}else if ("TCP-ACTIVE".equals(streamMode)) { // tcp涓诲姩妯″紡
-				content.append("a=setup:active\r\n");
-				content.append("a=connection:new\r\n");
-			}
+
 	        content.append("y="+ssrc+"\r\n");//ssrc
 	        
 	        Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "playback", null);

--
Gitblit v1.8.0