Quellcode durchsuchen

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
648540858 vor 3 Jahren
Ursprung
Commit
6e48dd3f32

+ 37 - 0
src/main/java/com/genersoft/iot/vmp/gb28181/bean/SendRtpItem.java

@@ -76,6 +76,21 @@ public class SendRtpItem {
      */
     private String CallId;
 
+    /**
+     * 发送时,rtp的pt(uint8_t),不传时默认为96
+     */
+    private int pt = 96;
+
+    /**
+     * 发送时,rtp的负载类型。为true时,负载为ps;为false时,为es;
+     */
+    private boolean usePs = true;
+
+    /**
+     * 当usePs 为false时,有效。为1时,发送音频;为0时,发送视频;不传时默认为0
+     */
+    private boolean onlyAudio = false;
+
     /**
      * 播放类型
      */
@@ -221,5 +236,27 @@ public class SendRtpItem {
         this.dialog = dialog;
     }
 
+    public int getPt() {
+        return pt;
+    }
 
+    public void setPt(int pt) {
+        this.pt = pt;
+    }
+
+    public boolean isUsePs() {
+        return usePs;
+    }
+
+    public void setUsePs(boolean usePs) {
+        this.usePs = usePs;
+    }
+
+    public boolean isOnlyAudio() {
+        return onlyAudio;
+    }
+
+    public void setOnlyAudio(boolean onlyAudio) {
+        this.onlyAudio = onlyAudio;
+    }
 }

+ 2 - 2
src/main/java/com/genersoft/iot/vmp/gb28181/session/CatalogDataCatch.java

@@ -27,7 +27,7 @@ public class CatalogDataCatch {
         CatalogData catalogData = data.get(device.getDeviceId());
         if (catalogData == null || catalogData.getStatus().equals(CatalogData.CatalogDataStatus.end)) {
             catalogData = new CatalogData();
-            catalogData.setChannelList(new ArrayList<>());
+            catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
             catalogData.setDevice(device);
             catalogData.setSn(sn);
             catalogData.setStatus(CatalogData.CatalogDataStatus.ready);
@@ -43,7 +43,7 @@ public class CatalogDataCatch {
             catalogData.setSn(sn);
             catalogData.setTotal(total);
             catalogData.setDevice(device);
-            catalogData.setChannelList(new ArrayList<>());
+            catalogData.setChannelList(Collections.synchronizedList(new ArrayList<>()));
             catalogData.setStatus(CatalogData.CatalogDataStatus.runIng);
             catalogData.setLastTime(new Date(System.currentTimeMillis()));
             data.put(deviceId, catalogData);

+ 3 - 3
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
 			param.put("dst_port", sendRtpItem.getPort());
 			param.put("is_udp", is_Udp);
 			param.put("src_port", sendRtpItem.getLocalPort());
-			param.put("pt", 8);
-			param.put("use_ps", 0);
-			param.put("only_audio", 1);
+			param.put("pt", sendRtpItem.getPt());
+			param.put("use_ps", sendRtpItem.isUsePs() ? "1" : "0");
+			param.put("only_audio", sendRtpItem.isOnlyAudio());
 			zlmrtpServerFactory.startSendRtpStream(mediaInfo, param);