panlinlin
2021-03-30 56859d09df8d4226882d43934acf32d60a3b51d7
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
@@ -8,34 +8,35 @@
/**    
 * @Description:视频流session管理器,管理视频预览、预览回放的通信句柄 
 * @author: songww
 * @author: swwheihei
 * @date:   2020年5月13日 下午4:03:02     
 */
@Component
public class VideoStreamSessionManager {
   private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>();
   private ConcurrentHashMap<String, String> ssrcMap = new ConcurrentHashMap<>();
   public String createPlaySsrc(){
      String ssrc = SsrcUtil.getPlaySsrc();
      return ssrc;
      return SsrcUtil.getPlaySsrc();
   }
   
   public String createPlayBackSsrc(){
      String ssrc = SsrcUtil.getPlayBackSsrc();
      return ssrc;
      return SsrcUtil.getPlayBackSsrc();
   }
   
   public void put(String ssrc,ClientTransaction transaction){
      sessionMap.put(ssrc, transaction);
   public void put(String streamId,String ssrc,ClientTransaction transaction){
      sessionMap.put(streamId, transaction);
      ssrcMap.put(streamId, ssrc);
   }
   
   public ClientTransaction get(String ssrc){
      return sessionMap.get(ssrc);
   public ClientTransaction get(String streamId){
      return sessionMap.get(streamId);
   }
   
   public void remove(String ssrc) {
      sessionMap.remove(ssrc);
      SsrcUtil.releaseSsrc(ssrc);
   public void remove(String streamId) {
      sessionMap.remove(streamId);
      SsrcUtil.releaseSsrc(ssrcMap.get(streamId));
      ssrcMap.remove(streamId);
   }
}