From 9361943e47a09ea46f76adf06fa0d24a07ac711d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 26 十月 2020 11:40:46 +0800
Subject: [PATCH] 修复ui录象播放 优化录象查询接口

---
 src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java |  127 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 122 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..2680922 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,35 @@
 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;
 
 /**    
  * @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 +52,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 +69,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 +133,62 @@
 	 * @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 startPlayBlack(StreamInfo streamInfo);
+
+	boolean stopPlayBlack(StreamInfo streamInfo);
+
+	StreamInfo queryPlayBlackByDevice(String deviceId, String channelId);
+
+	StreamInfo queryPlayBlackBySSRC(String ssrc);
 }

--
Gitblit v1.8.0