From e48fa711a3664bece9b3e58840a75fe7c05bc47c Mon Sep 17 00:00:00 2001 From: panlinlin <648540858@qq.com> Date: 星期六, 08 五月 2021 17:14:05 +0800 Subject: [PATCH] 添加截图(快照)功能 --- src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java index 9e887da..6a1401d 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/SsrcUtil.java @@ -5,14 +5,19 @@ import java.util.Random; import com.genersoft.iot.vmp.conf.SipConfig; +import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; import com.genersoft.iot.vmp.utils.SpringBeanFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @Description:SIP淇′护涓殑SSRC宸ュ叿绫汇�係SRC鍊肩敱10浣嶅崄杩涘埗鏁存暟缁勬垚鐨勫瓧绗︿覆锛岀涓�浣嶄负0浠h〃瀹炲喌锛屼负1鍒欎唬琛ㄥ洖鏀撅紱绗簩浣嶈嚦绗叚浣嶇敱鐩戞帶鍩烮D鐨勭4浣嶅埌绗�8浣嶇粍鎴愶紱鏈�鍚�4浣嶄负涓嶉噸澶嶇殑4涓暣鏁� - * @author: songww + * @author: swwheihei * @date: 2020骞�5鏈�10鏃� 涓婂崍11:57:57 */ public class SsrcUtil { + + private final static Logger logger = LoggerFactory.getLogger(SsrcUtil.class); private static String ssrcPrefix; @@ -22,7 +27,7 @@ private static void init() { SipConfig sipConfig = (SipConfig) SpringBeanFactory.getBean("sipConfig"); - ssrcPrefix = sipConfig.getSipDomain().substring(4, 9); + ssrcPrefix = sipConfig.getSipDomain().substring(3, 8); isUsed = new ArrayList<String>(); notUsed = new ArrayList<String>(); for (int i = 1; i < 10000; i++) { @@ -59,6 +64,10 @@ * */ public static void releaseSsrc(String ssrc) { + if (ssrc == null) { + logger.error("瑕侀噴鏀緎src涓簄ull"); + return; + } String sn = ssrc.substring(6); isUsed.remove(sn); notUsed.add(sn); @@ -70,14 +79,16 @@ */ private static String getSN() { String sn = null; + int index = 0; if (notUsed.size() == 0) { throw new RuntimeException("ssrc宸茬粡鐢ㄥ畬"); } else if (notUsed.size() == 1) { sn = notUsed.get(0); } else { - sn = notUsed.get(new Random().nextInt(notUsed.size() - 1)); + index = new Random().nextInt(notUsed.size() - 1); + sn = notUsed.get(index); } - notUsed.remove(0); + notUsed.remove(index); isUsed.add(sn); return sn; } -- Gitblit v1.8.0