Commit 2d82d1b8eec67df9195b7ebc4b4318a7cdcc1f7f

Authored by panlinlin
1 parent e864beca

修复ssrc释放失败的问题

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 }