From 2589c5fac8827f281df618e10335ab8dec17c402 Mon Sep 17 00:00:00 2001
From: Lawrence <1934378145@qq.com>
Date: 星期一, 09 十一月 2020 18:44:35 +0800
Subject: [PATCH] 修正不同终端开关音频设置不同引起播放问题的bug
---
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | 125 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 121 insertions(+), 4 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 47aa362..fdf4bc3 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -1,8 +1,14 @@
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:瑙嗛璁惧鏁版嵁瀛樺偍鎺ュ彛
@@ -10,7 +16,20 @@
* @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 startPlayback(StreamInfo streamInfo);
+
+ boolean stopPlayback(StreamInfo streamInfo);
+
+ StreamInfo queryPlaybackByDevice(String deviceId, String channelId);
+
+ StreamInfo queryPlaybackBySSRC(String ssrc);
}
--
Gitblit v1.8.0