From f75b3e6cdab1c0ad98eb09906912a42b783f67bf Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 08 十二月 2020 18:11:02 +0800
Subject: [PATCH] 使用异步接口, 更好的并发, 对hook使用订阅机制 替换前段播放器, 支持h265的播放 放弃循环获取编码信息,

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java |   49 +++++++++++++++++++++++++------------------------
 1 files changed, 25 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
index 923f211..3da654a 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/ISIPCommander.java
@@ -2,6 +2,7 @@
 
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
+import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
 
 /**    
  * @Description:璁惧鑳藉姏鎺ュ彛锛岀敤浜庡畾涔夎澶囩殑鎺у埗銆佹煡璇㈣兘鍔�   
@@ -19,7 +20,7 @@
      * @param upDown     闀滃ご涓婄Щ涓嬬Щ 0:鍋滄 1:涓婄Щ 2:涓嬬Щ
      * @param moveSpeed  闀滃ご绉诲姩閫熷害
 	 */
-	public boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown);
+	boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown);
 	
 	/**
 	 * 浜戝彴鏂瑰悜鏀炬帶鍒�
@@ -30,7 +31,7 @@
      * @param upDown     闀滃ご涓婄Щ涓嬬Щ 0:鍋滄 1:涓婄Щ 2:涓嬬Щ
      * @param moveSpeed  闀滃ご绉诲姩閫熷害
 	 */
-	public boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown, int moveSpeed);
+	boolean ptzdirectCmd(Device device,String channelId,int leftRight, int upDown, int moveSpeed);
 	
 	/**
 	 * 浜戝彴缂╂斁鎺у埗锛屼娇鐢ㄩ厤缃枃浠朵腑鐨勯粯璁ら暅澶寸缉鏀鹃�熷害
@@ -39,7 +40,7 @@
 	 * @param channelId  棰勮閫氶亾
      * @param inOut      闀滃ご鏀惧ぇ缂╁皬 0:鍋滄 1:缂╁皬 2:鏀惧ぇ
 	 */
-	public boolean ptzZoomCmd(Device device,String channelId,int inOut);
+	boolean ptzZoomCmd(Device device,String channelId,int inOut);
 	
 	/**
 	 * 浜戝彴缂╂斁鎺у埗
@@ -49,7 +50,7 @@
      * @param inOut      闀滃ご鏀惧ぇ缂╁皬 0:鍋滄 1:缂╁皬 2:鏀惧ぇ
      * @param zoomSpeed  闀滃ご缂╂斁閫熷害
 	 */
-	public boolean ptzZoomCmd(Device device,String channelId,int inOut, int moveSpeed);
+	boolean ptzZoomCmd(Device device,String channelId,int inOut, int moveSpeed);
 	
 	/**
 	 * 浜戝彴鎺у埗锛屾敮鎸佹柟鍚戜笌缂╂斁鎺у埗
@@ -62,7 +63,7 @@
      * @param moveSpeed  闀滃ご绉诲姩閫熷害
      * @param zoomSpeed  闀滃ご缂╂斁閫熷害
 	 */
-	public boolean ptzCmd(Device device,String channelId,int leftRight, int upDown, int inOut, int moveSpeed, int zoomSpeed);
+	boolean ptzCmd(Device device,String channelId,int leftRight, int upDown, int inOut, int moveSpeed, int zoomSpeed);
 	
 	/**
 	 * 鍓嶇鎺у埗锛屽寘鎷琍TZ鎸囦护銆丗I鎸囦护銆侀缃綅鎸囦护銆佸贰鑸寚浠ゃ�佹壂鎻忔寚浠ゅ拰杈呭姪寮�鍏虫寚浠�
@@ -74,7 +75,7 @@
      * @param parameter2	鏁版嵁2
      * @param combineCode2	缁勫悎鐮�2
 	 */
-	public boolean frontEndCmd(Device device, String channelId, int cmdCode, int parameter1, int parameter2, int combineCode2);
+	boolean frontEndCmd(Device device, String channelId, int cmdCode, int parameter1, int parameter2, int combineCode2);
 	
 	/**
 	 * 璇锋眰棰勮瑙嗛娴�
@@ -82,7 +83,7 @@
 	 * @param device  瑙嗛璁惧
 	 * @param channelId  棰勮閫氶亾
 	 */
-	public StreamInfo playStreamCmd(Device device, String channelId);
+	void playStreamCmd(Device device, String channelId, ZLMHttpHookSubscribe.Event event);
 	
 	/**
 	 * 璇锋眰鍥炴斁瑙嗛娴�
@@ -92,14 +93,14 @@
 	 * @param startTime 寮�濮嬫椂闂�,鏍煎紡瑕佹眰锛歽yyy-MM-dd HH:mm:ss
 	 * @param endTime 缁撴潫鏃堕棿,鏍煎紡瑕佹眰锛歽yyy-MM-dd HH:mm:ss
 	 */
-	public StreamInfo playbackStreamCmd(Device device,String channelId, String startTime, String endTime);
+	void playbackStreamCmd(Device device, String channelId, String startTime, String endTime, ZLMHttpHookSubscribe.Event event);
 	
 	/**
 	 * 瑙嗛娴佸仠姝�
 	 * 
 	 * @param ssrc  ssrc
 	 */
-	public void streamByeCmd(String ssrc);
+	void streamByeCmd(String ssrc);
 	
 	/**
 	 * 璇煶骞挎挱
@@ -107,7 +108,7 @@
 	 * @param device  瑙嗛璁惧
 	 * @param channelId  棰勮閫氶亾
 	 */
-	public boolean audioBroadcastCmd(Device device,String channelId);
+	boolean audioBroadcastCmd(Device device,String channelId);
 	
 	/**
 	 * 闊宠棰戝綍鍍忔帶鍒�
@@ -115,21 +116,21 @@
 	 * @param device  瑙嗛璁惧
 	 * @param channelId  棰勮閫氶亾
 	 */
-	public boolean recordCmd(Device device,String channelId);
+	boolean recordCmd(Device device,String channelId);
 	
 	/**
 	 * 鎶ヨ甯冮槻/鎾ら槻鍛戒护
 	 * 
 	 * @param device  瑙嗛璁惧
 	 */
-	public boolean guardCmd(Device device);
+	boolean guardCmd(Device device);
 	
 	/**
 	 * 鎶ヨ澶嶄綅鍛戒护
 	 * 
 	 * @param device  瑙嗛璁惧
 	 */
-	public boolean alarmCmd(Device device);
+	boolean alarmCmd(Device device);
 	
 	/**
 	 * 寮哄埗鍏抽敭甯у懡浠�,璁惧鏀跺埌姝ゅ懡浠ゅ簲绔嬪埢鍙戦�佷竴涓狪DR甯�
@@ -137,21 +138,21 @@
 	 * @param device  瑙嗛璁惧
 	 * @param channelId  棰勮閫氶亾
 	 */
-	public boolean iFameCmd(Device device,String channelId);
+	boolean iFameCmd(Device device,String channelId);
 	
 	/**
 	 * 鐪嬪畧浣嶆帶鍒跺懡浠�
 	 * 
 	 * @param device  瑙嗛璁惧
 	 */
-	public boolean homePositionCmd(Device device);
+	boolean homePositionCmd(Device device);
 	
 	/**
 	 * 璁惧閰嶇疆鍛戒护
 	 * 
 	 * @param device  瑙嗛璁惧
 	 */
-	public boolean deviceConfigCmd(Device device);
+	boolean deviceConfigCmd(Device device);
 	
 	
 	/**
@@ -159,7 +160,7 @@
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean deviceStatusQuery(Device device);
+	boolean deviceStatusQuery(Device device);
 	
 	/**
 	 * 鏌ヨ璁惧淇℃伅
@@ -167,14 +168,14 @@
 	 * @param device 瑙嗛璁惧
 	 * @return 
 	 */
-	public boolean deviceInfoQuery(Device device);
+	boolean deviceInfoQuery(Device device);
 	
 	/**
 	 * 鏌ヨ鐩綍鍒楄〃
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean catalogQuery(Device device);
+	boolean catalogQuery(Device device);
 	
 	/**
 	 * 鏌ヨ褰曞儚淇℃伅
@@ -183,33 +184,33 @@
 	 * @param startTime 寮�濮嬫椂闂�,鏍煎紡瑕佹眰锛歽yyy-MM-dd HH:mm:ss
 	 * @param endTime 缁撴潫鏃堕棿,鏍煎紡瑕佹眰锛歽yyy-MM-dd HH:mm:ss
 	 */
-	public boolean recordInfoQuery(Device device, String channelId, String startTime, String endTime);
+	boolean recordInfoQuery(Device device, String channelId, String startTime, String endTime);
 	
 	/**
 	 * 鏌ヨ鎶ヨ淇℃伅
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean alarmInfoQuery(Device device);
+	boolean alarmInfoQuery(Device device);
 	
 	/**
 	 * 鏌ヨ璁惧閰嶇疆
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean configQuery(Device device);
+	boolean configQuery(Device device);
 	
 	/**
 	 * 鏌ヨ璁惧棰勭疆浣嶇疆
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean presetQuery(Device device);
+	boolean presetQuery(Device device);
 	
 	/**
 	 * 鏌ヨ绉诲姩璁惧浣嶇疆鏁版嵁
 	 * 
 	 * @param device 瑙嗛璁惧
 	 */
-	public boolean mobilePostitionQuery(Device device);
+	boolean mobilePostitionQuery(Device device);
 }

--
Gitblit v1.8.0