Commit 6e48dd3f327da941ca63e85b97992ff13a148434

Authored by 648540858
2 parents c2aaae93 93e6347f

Merge remote-tracking branch 'origin/wvp-28181-2.0' into commercial

# Conflicts:
#	src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java
src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java
@@ -77,6 +77,21 @@ public class SendRtpItem { @@ -77,6 +77,21 @@ public class SendRtpItem {
77 private String CallId; 77 private String CallId;
78 78
79 /** 79 /**
  80 + * 发送时,rtp的pt(uint8_t),不传时默认为96
  81 + */
  82 + private int pt = 96;
  83 +
  84 + /**
  85 + * 发送时,rtp的负载类型。为true时,负载为ps;为false时,为es;
  86 + */
  87 + private boolean usePs = true;
  88 +
  89 + /**
  90 + * 当usePs 为false时,有效。为1时,发送音频;为0时,发送视频;不传时默认为0
  91 + */
  92 + private boolean onlyAudio = false;
  93 +
  94 + /**
80 * 播放类型 95 * 播放类型
81 */ 96 */
82 private InviteStreamType playType; 97 private InviteStreamType playType;
@@ -221,5 +236,27 @@ public class SendRtpItem { @@ -221,5 +236,27 @@ public class SendRtpItem {
221 this.dialog = dialog; 236 this.dialog = dialog;
222 } 237 }
223 238
  239 + public int getPt() {
  240 + return pt;
  241 + }
224 242
  243 + public void setPt(int pt) {
  244 + this.pt = pt;
  245 + }
  246 +
  247 + public boolean isUsePs() {
  248 + return usePs;
  249 + }
  250 +
  251 + public void setUsePs(boolean usePs) {
  252 + this.usePs = usePs;
  253 + }
  254 +
  255 + public boolean isOnlyAudio() {
  256 + return onlyAudio;
  257 + }
  258 +
  259 + public void setOnlyAudio(boolean onlyAudio) {
  260 + this.onlyAudio = onlyAudio;
  261 + }
225 } 262 }
src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java
@@ -27,7 +27,7 @@ public class CatalogDataCatch { @@ -27,7 +27,7 @@ public class CatalogDataCatch {
27 CatalogData catalogData = data.get(device.getDeviceId()); 27 CatalogData catalogData = data.get(device.getDeviceId());
28 if (catalogData == null || catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) { 28 if (catalogData == null || catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) {
29 catalogData = new CatalogData(); 29 catalogData = new CatalogData();
30 - catalogData.setChannelList(new ArrayList<>()); 30 + catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
31 catalogData.setDevice(device); 31 catalogData.setDevice(device);
32 catalogData.setSn(sn); 32 catalogData.setSn(sn);
33 catalogData.setStatus(CatalogData.CatalogDataStatus.ready); 33 catalogData.setStatus(CatalogData.CatalogDataStatus.ready);
@@ -43,7 +43,7 @@ public class CatalogDataCatch { @@ -43,7 +43,7 @@ public class CatalogDataCatch {
43 catalogData.setSn(sn); 43 catalogData.setSn(sn);
44 catalogData.setTotal(total); 44 catalogData.setTotal(total);
45 catalogData.setDevice(device); 45 catalogData.setDevice(device);
46 - catalogData.setChannelList(new ArrayList<>()); 46 + catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
47 catalogData.setStatus(CatalogData.CatalogDataStatus.runIng); 47 catalogData.setStatus(CatalogData.CatalogDataStatus.runIng);
48 catalogData.setLastTime(new Date(System.currentTimeMillis())); 48 catalogData.setLastTime(new Date(System.currentTimeMillis()));
49 data.put(deviceId, catalogData); 49 data.put(deviceId, catalogData);
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/AckRequestProcessor.java
@@ -94,9 +94,9 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In @@ -94,9 +94,9 @@ public class AckRequestProcessor extends SIPRequestProcessorParent implements In
94 param.put("dst_port", sendRtpItem.getPort()); 94 param.put("dst_port", sendRtpItem.getPort());
95 param.put("is_udp", is_Udp); 95 param.put("is_udp", is_Udp);
96 param.put("src_port", sendRtpItem.getLocalPort()); 96 param.put("src_port", sendRtpItem.getLocalPort());
97 - param.put("pt", 8);  
98 - param.put("use_ps", 0);  
99 - param.put("only_audio", 1); 97 + param.put("pt", sendRtpItem.getPt());
  98 + param.put("use_ps", sendRtpItem.isUsePs() ? "1" : "0");
  99 + param.put("only_audio", sendRtpItem.isOnlyAudio());
100 zlmrtpServerFactory.startSendRtpStream(mediaInfo, param); 100 zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
101 101
102 102