| | |
| | | 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);
|
| | | }
|
| | | }
|
| | |
| | | Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "FromInvt" + tm, null, ssrc);
|
| | |
|
| | | ClientTransaction transaction = transmitRequest(device, request, errorEvent);
|
| | | streamSession.put(streamId, transaction);
|
| | | streamSession.put(streamId,ssrc, transaction);
|
| | |
|
| | |
|
| | |
|
| | |
| | | Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null);
|
| | |
|
| | | ClientTransaction transaction = transmitRequest(device, request, errorEvent);
|
| | | streamSession.put(streamId, transaction);
|
| | | streamSession.put(streamId, ssrc, transaction);
|
| | |
|
| | | } catch ( SipException | ParseException | InvalidArgumentException e) {
|
| | | e.printStackTrace();
|
| | |
| | | // to edit target browsers: use "browserslist" field in package.json |
| | | "autoprefixer": {}, |
| | | 'postcss-pxtorem': { |
| | | rootValue: 24, |
| | | rootValue: 16, |
| | | propList: ['font-size'] // 只转化font-size |
| | | } |
| | | } |