|  |  |  | 
|---|
|  |  |  | public class VideoStreamSessionManager { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>(); | 
|---|
|  |  |  | private ConcurrentHashMap<String, String> ssrcMap = new ConcurrentHashMap<>(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public String createPlaySsrc(){ | 
|---|
|  |  |  | return SsrcUtil.getPlaySsrc(); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|