Commit 6e48dd3f327da941ca63e85b97992ff13a148434
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
Showing
3 changed files
with
42 additions
and
5 deletions
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 | ... | ... |