Commit 2d82d1b8eec67df9195b7ebc4b4318a7cdcc1f7f
1 parent
e864beca
修复ssrc释放失败的问题
Showing
3 changed files
with
13 additions
and
10 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
| @@ -15,6 +15,7 @@ import org.springframework.stereotype.Component; | @@ -15,6 +15,7 @@ import org.springframework.stereotype.Component; | ||
| 15 | public class VideoStreamSessionManager { | 15 | public class VideoStreamSessionManager { |
| 16 | 16 | ||
| 17 | private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>(); | 17 | private ConcurrentHashMap<String, ClientTransaction> sessionMap = new ConcurrentHashMap<>(); |
| 18 | + private ConcurrentHashMap<String, String> ssrcMap = new ConcurrentHashMap<>(); | ||
| 18 | 19 | ||
| 19 | public String createPlaySsrc(){ | 20 | public String createPlaySsrc(){ |
| 20 | return SsrcUtil.getPlaySsrc(); | 21 | return SsrcUtil.getPlaySsrc(); |
| @@ -24,16 +25,18 @@ public class VideoStreamSessionManager { | @@ -24,16 +25,18 @@ public class VideoStreamSessionManager { | ||
| 24 | return SsrcUtil.getPlayBackSsrc(); | 25 | return SsrcUtil.getPlayBackSsrc(); |
| 25 | } | 26 | } |
| 26 | 27 | ||
| 27 | - public void put(String ssrc,ClientTransaction transaction){ | ||
| 28 | - sessionMap.put(ssrc, transaction); | 28 | + public void put(String streamId,String ssrc,ClientTransaction transaction){ |
| 29 | + sessionMap.put(streamId, transaction); | ||
| 30 | + ssrcMap.put(streamId, ssrc); | ||
| 29 | } | 31 | } |
| 30 | 32 | ||
| 31 | - public ClientTransaction get(String ssrc){ | ||
| 32 | - return sessionMap.get(ssrc); | 33 | + public ClientTransaction get(String streamId){ |
| 34 | + return sessionMap.get(streamId); | ||
| 33 | } | 35 | } |
| 34 | 36 | ||
| 35 | - public void remove(String ssrc) { | ||
| 36 | - sessionMap.remove(ssrc); | ||
| 37 | - SsrcUtil.releaseSsrc(ssrc); | 37 | + public void remove(String streamId) { |
| 38 | + sessionMap.remove(streamId); | ||
| 39 | + SsrcUtil.releaseSsrc(ssrcMap.get(streamId)); | ||
| 40 | + ssrcMap.remove(streamId); | ||
| 38 | } | 41 | } |
| 39 | } | 42 | } |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
| @@ -388,7 +388,7 @@ public class SIPCommander implements ISIPCommander { | @@ -388,7 +388,7 @@ public class SIPCommander implements ISIPCommander { | ||
| 388 | Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "FromInvt" + tm, null, ssrc); | 388 | Request request = headerProvider.createInviteRequest(device, channelId, content.toString(), null, "FromInvt" + tm, null, ssrc); |
| 389 | 389 | ||
| 390 | ClientTransaction transaction = transmitRequest(device, request, errorEvent); | 390 | ClientTransaction transaction = transmitRequest(device, request, errorEvent); |
| 391 | - streamSession.put(streamId, transaction); | 391 | + streamSession.put(streamId,ssrc, transaction); |
| 392 | 392 | ||
| 393 | 393 | ||
| 394 | 394 | ||
| @@ -488,7 +488,7 @@ public class SIPCommander implements ISIPCommander { | @@ -488,7 +488,7 @@ public class SIPCommander implements ISIPCommander { | ||
| 488 | Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null); | 488 | Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "fromplybck" + tm, null); |
| 489 | 489 | ||
| 490 | ClientTransaction transaction = transmitRequest(device, request, errorEvent); | 490 | ClientTransaction transaction = transmitRequest(device, request, errorEvent); |
| 491 | - streamSession.put(streamId, transaction); | 491 | + streamSession.put(streamId, ssrc, transaction); |
| 492 | 492 | ||
| 493 | } catch ( SipException | ParseException | InvalidArgumentException e) { | 493 | } catch ( SipException | ParseException | InvalidArgumentException e) { |
| 494 | e.printStackTrace(); | 494 | e.printStackTrace(); |
web_src/.postcssrc.js
| @@ -7,7 +7,7 @@ module.exports = { | @@ -7,7 +7,7 @@ module.exports = { | ||
| 7 | // to edit target browsers: use "browserslist" field in package.json | 7 | // to edit target browsers: use "browserslist" field in package.json |
| 8 | "autoprefixer": {}, | 8 | "autoprefixer": {}, |
| 9 | 'postcss-pxtorem': { | 9 | 'postcss-pxtorem': { |
| 10 | - rootValue: 24, | 10 | + rootValue: 16, |
| 11 | propList: ['font-size'] // 只转化font-size | 11 | propList: ['font-size'] // 只转化font-size |
| 12 | } | 12 | } |
| 13 | } | 13 | } |