From 44d216100b45c3337c593ee82ee68e7e0f35d24b Mon Sep 17 00:00:00 2001
From: Lawrence <1934378145@qq.com>
Date: 星期三, 16 十二月 2020 20:29:19 +0800
Subject: [PATCH] 与master分支同步

---
 src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java |  156 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 151 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
index d9e40e5..b58caae 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -1,16 +1,36 @@
 package com.genersoft.iot.vmp.storager;
 
 import java.util.List;
+import java.util.Map;
 
+import com.alibaba.fastjson.JSONObject;
+import com.genersoft.iot.vmp.common.PageResult;
+import com.genersoft.iot.vmp.common.StreamInfo;
+import com.genersoft.iot.vmp.conf.MediaServerConfig;
 import com.genersoft.iot.vmp.gb28181.bean.Device;
+import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
 
 /**    
  * @Description:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛
- * @author: songww
+ * @author: swwheihei
  * @date:   2020骞�5鏈�6鏃� 涓嬪崍2:14:31     
  */
 public interface IVideoManagerStorager {
-	
+
+	/**
+	 * 鏇存柊娴佸獟浣撲俊鎭�
+	 * @param mediaServerConfig
+	 * @return
+	 */
+	public boolean updateMediaInfo(MediaServerConfig mediaServerConfig);
+
+	/**
+	 * 鑾峰彇娴佸獟浣撲俊鎭�
+	 * @return
+	 */
+	public MediaServerConfig getMediaInfo();
+
 	/**   
 	 * 鏍规嵁璁惧ID鍒ゆ柇璁惧鏄惁瀛樺湪
 	 * 
@@ -33,7 +53,15 @@
 	 * @param device 璁惧瀵硅薄
 	 * @return true锛氬垱寤烘垚鍔�  false锛氬垱寤哄け璐�
 	 */
-	public boolean update(Device device);
+	public boolean updateDevice(Device device);
+
+	/**
+	 * 娣诲姞璁惧閫氶亾
+	 *
+	 * @param deviceId 璁惧id
+	 * @param channel 閫氶亾
+	 */
+	public void updateChannel(String deviceId, DeviceChannel channel);
 	
 	/**   
 	 * 鑾峰彇璁惧
@@ -42,15 +70,47 @@
 	 * @return DShadow 璁惧瀵硅薄
 	 */
 	public Device queryVideoDevice(String deviceId);
-	
+
+	/**
+	 * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃
+	 *
+	 * @param deviceId 璁惧ID
+	 * @param page 鍒嗛〉 褰撳墠椤�
+	 * @param count 姣忛〉鏁伴噺
+	 * @return
+	 */
+	public PageResult queryChannelsByDeviceId(String deviceId, String query, Boolean hasSubChannel, String online, int page, int count);
+
+	/**
+	 * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾鍒楄〃
+	 *
+	 * @param deviceId 璁惧ID
+	 * @return
+	 */
+	public List<DeviceChannel> queryChannelsByDeviceId(String deviceId);
+	/**
+	 * 鑾峰彇鏌愪釜璁惧鐨勯�氶亾
+	 * @param deviceId 璁惧ID
+	 * @param channelId 閫氶亾ID
+	 */
+	public DeviceChannel queryChannel(String deviceId, String channelId);
+
 	/**   
 	 * 鑾峰彇澶氫釜璁惧
 	 * 
 	 * @param deviceIds 璁惧ID鏁扮粍
 	 * @return List<Device> 璁惧瀵硅薄鏁扮粍
 	 */
+	public PageResult<Device> queryVideoDeviceList(String[] deviceIds, int page, int count);
+
+	/**
+	 * 鑾峰彇澶氫釜璁惧
+	 *
+	 * @param deviceIds 璁惧ID鏁扮粍
+	 * @return List<Device> 璁惧瀵硅薄鏁扮粍
+	 */
 	public List<Device> queryVideoDeviceList(String[] deviceIds);
-	
+
 	/**   
 	 * 鍒犻櫎璁惧
 	 * 
@@ -74,4 +134,90 @@
 	 * @return true锛氭洿鏂版垚鍔�  false锛氭洿鏂板け璐�
 	 */
 	public boolean outline(String deviceId);
+
+	/**
+	 * 寮�濮嬫挱鏀炬椂灏嗘祦瀛樺叆
+	 *
+	 * @param stream 娴佷俊鎭�
+	 * @return
+	 */
+	public boolean startPlay(StreamInfo stream);
+
+	/**
+	 * 鍋滄鎾斁鏃跺垹闄�
+	 *
+	 * @return
+	 */
+	public boolean stopPlay(StreamInfo streamInfo);
+
+	/**
+	 * 鏌ユ壘瑙嗛娴�
+	 *
+	 * @return
+	 */
+	public StreamInfo queryPlay(StreamInfo streamInfo);
+
+	/**
+	 * 鏌ヨ瀛愯澶�
+	 *
+	 * @param deviceId
+	 * @param channelId
+	 * @param page
+	 * @param count
+	 * @return
+	 */
+    PageResult querySubChannels(String deviceId, String channelId, String query, Boolean hasSubChannel, String online, int page, int count);
+
+	/**
+	 * 鏇存柊缂撳瓨
+	 */
+	public void updateCatch();
+
+	/**
+	 * 娓呯┖閫氶亾
+	 * @param deviceId
+	 */
+	void cleanChannelsForDevice(String deviceId);
+
+	StreamInfo queryPlayBySSRC(String ssrc);
+
+	StreamInfo queryPlayByDevice(String deviceId, String code);
+
+	Map<String, StreamInfo> queryPlayByDeviceId(String deviceId);
+
+	boolean startPlayback(StreamInfo streamInfo);
+
+	boolean stopPlayback(StreamInfo streamInfo);
+
+	StreamInfo queryPlaybackByDevice(String deviceId, String channelId);
+
+	StreamInfo queryPlaybackBySSRC(String ssrc);
+
+	/**
+	 * 鏇存柊鎴栨坊鍔犱笂绾у钩鍙�
+	 * @param parentPlatform
+	 */
+	boolean updateParentPlatform(ParentPlatform parentPlatform);
+
+	/**
+	 * 鍒犻櫎涓婄骇骞冲彴
+	 * @param parentPlatform
+	 */
+	boolean deleteParentPlatform(ParentPlatform parentPlatform);
+
+
+	/**
+	 * 鍒嗛〉鑾峰彇涓婄骇骞冲彴
+	 * @param page
+	 * @param count
+	 * @return
+	 */
+	public PageResult<ParentPlatform> queryParentPlatformList(int page, int count);
+
+	/**
+	 * 鑾峰彇涓婄骇骞冲彴
+	 * @param platformGbId
+	 * @return
+	 */
+	public ParentPlatform queryParentPlatById(String platformGbId);
 }

--
Gitblit v1.8.0