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<String, StreamInfo> 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<SendRtpItem> 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<String> getOnlineForAll(); 
 | 
  
 | 
    /** 
 | 
     * 在redis添加wvp的信息 
 | 
     */ 
 | 
    void updateWVPInfo(JSONObject jsonObject); 
 | 
} 
 |