package com.genersoft.iot.vmp.storager; import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.common.StreamInfo; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; import com.genersoft.iot.vmp.gb28181.bean.ParentPlatformCatch; import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem; import java.util.List; import java.util.Map; public interface IRedisCatchStorage { /** * 开始播放时将流存入 * * @param stream 流信息 * @return */ boolean startPlay(StreamInfo stream); /** * 停止播放时删除 * * @return */ boolean stopPlay(StreamInfo streamInfo); /** * 查询播放列表 * @return */ StreamInfo queryPlay(StreamInfo streamInfo); StreamInfo queryPlayByStreamId(String steamId); StreamInfo queryPlaybackByStreamId(String steamId); StreamInfo queryPlayByDevice(String deviceId, String channelId); Map queryPlayByDeviceId(String deviceId); boolean startPlayback(StreamInfo stream); boolean stopPlayback(StreamInfo streamInfo); StreamInfo queryPlaybackByDevice(String deviceId, String code); void updatePlatformCatchInfo(ParentPlatformCatch parentPlatformCatch); ParentPlatformCatch queryPlatformCatchInfo(String platformGbId); void delPlatformCatchInfo(String platformGbId); void updatePlatformKeepalive(ParentPlatform parentPlatform); void delPlatformKeepalive(String platformGbId); void updatePlatformRegister(ParentPlatform parentPlatform); void delPlatformRegister(String platformGbId); void updatePlatformRegisterInfo(String callId, String platformGbId); String queryPlatformRegisterInfo(String callId); void delPlatformRegisterInfo(String callId); void cleanPlatformRegisterInfos(); void updateSendRTPSever(SendRtpItem sendRtpItem); /** * 查询RTP推送信息缓存 * @param platformGbId * @param channelId * @return sendRtpItem */ SendRtpItem querySendRTPServer(String platformGbId, String channelId); List querySendRTPServer(String platformGbId); /** * 删除RTP推送信息缓存 * @param platformGbId * @param channelId */ void deleteSendRTPServer(String platformGbId, String channelId); /** * 查询某个通道是否存在上级点播(RTP推送) * @param channelId */ boolean isChannelSendingRTP(String channelId); /** * 清空某个设备的所有缓存 * @param deviceId 设备ID */ void clearCatchByDeviceId(String deviceId); /** * 获取mediaServer节点 * @param mediaServerId * @return */ // MediaServerItem getMediaInfo(String mediaServerId); /** * 设置所有设备离线 */ void outlineForAll(); /** * 获取所有在线的 */ List getOnlineForAll(); /** * 在redis添加wvp的信息 */ void updateWVPInfo(JSONObject jsonObject); }