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 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 97 private InviteStreamType playType;
... ... @@ -221,5 +236,27 @@ public class SendRtpItem {
221 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 27 CatalogData catalogData = data.get(device.getDeviceId());
28 28 if (catalogData == null || catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) {
29 29 catalogData = new CatalogData();
30   - catalogData.setChannelList(new ArrayList<>());
  30 + catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
31 31 catalogData.setDevice(device);
32 32 catalogData.setSn(sn);
33 33 catalogData.setStatus(CatalogData.CatalogDataStatus.ready);
... ... @@ -43,7 +43,7 @@ public class CatalogDataCatch {
43 43 catalogData.setSn(sn);
44 44 catalogData.setTotal(total);
45 45 catalogData.setDevice(device);
46   - catalogData.setChannelList(new ArrayList<>());
  46 + catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
47 47 catalogData.setStatus(CatalogData.CatalogDataStatus.runIng);
48 48 catalogData.setLastTime(new Date(System.currentTimeMillis()));
49 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 94 param.put("dst_port", sendRtpItem.getPort());
95 95 param.put("is_udp", is_Udp);
96 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 100 zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);
101 101  
102 102  
... ...