From 688e222dcccb809cf314e175db944ad25cb9bc1e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 18 十月 2022 17:35:32 +0800
Subject: [PATCH] 优化按需拉流配置,拉流代理支持按需拉流
---
src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java | 25 +++++++++++++++++--------
1 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
index ced97ef..1198c26 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/utils/XmlUtil.java
@@ -14,6 +14,7 @@
import org.dom4j.io.SAXReader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import javax.sip.RequestEvent;
@@ -118,12 +119,12 @@
// 濡傛灉鏄睘鎬�
for (Object o : element.attributes()) {
Attribute attr = (Attribute) o;
- if (!StringUtils.isEmpty(attr.getValue())) {
+ if (!ObjectUtils.isEmpty(attr.getValue())) {
json.put("@" + attr.getName(), attr.getValue());
}
}
List<Element> chdEl = element.elements();
- if (chdEl.isEmpty() && !StringUtils.isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓��
+ if (chdEl.isEmpty() && !ObjectUtils.isEmpty(element.getText())) {// 濡傛灉娌℃湁瀛愬厓绱�,鍙湁涓�涓��
json.put(element.getName(), element.getText());
}
@@ -154,7 +155,7 @@
} else { // 瀛愬厓绱犳病鏈夊瓙鍏冪礌
for (Object o : element.attributes()) {
Attribute attr = (Attribute) o;
- if (!StringUtils.isEmpty(attr.getValue())) {
+ if (!ObjectUtils.isEmpty(attr.getValue())) {
json.put("@" + attr.getName(), attr.getValue());
}
}
@@ -197,7 +198,7 @@
return null;
}
String channelId = channdelIdElement.getTextTrim();
- if (StringUtils.isEmpty(channelId)) {
+ if (ObjectUtils.isEmpty(channelId)) {
logger.warn("瑙f瀽Catalog娑堟伅鏃跺彂鐜扮己灏� DeviceID");
return null;
}
@@ -210,17 +211,26 @@
ChannelType channelType = ChannelType.Other;
if (channelId.length() <= 8) {
channelType = ChannelType.CivilCode;
+ deviceChannel.setHasAudio(false);
}else {
if (channelId.length() == 20) {
int code = Integer.parseInt(channelId.substring(10, 13));
switch (code){
case 215:
channelType = ChannelType.BusinessGroup;
+ deviceChannel.setHasAudio(false);
break;
case 216:
channelType = ChannelType.VirtualOrganization;
+ deviceChannel.setHasAudio(false);
+ break;
+ case 136:
+ case 137:
+ case 138:
+ deviceChannel.setHasAudio(true);
break;
default:
+ deviceChannel.setHasAudio(false);
break;
}
@@ -316,7 +326,7 @@
// 璇嗗埆鑷甫鐨勭洰褰曟爣璇�
String parental = XmlUtil.getText(itemDevice, "Parental");
// 鐢变簬娴峰悍浼氶敊璇殑鍙戦��65535浣滀负杩欓噷鐨勫彇鍊�,鎵�浠ヨ繖閲岄櫎闈炴槸0鍚﹀垯璁や负鏄�1
- if (!StringUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) {
+ if (!ObjectUtils.isEmpty(parental) && parental.length() == 1 && Integer.parseInt(parental) == 0) {
deviceChannel.setParental(0);
}else {
deviceChannel.setParental(1);
@@ -332,14 +342,14 @@
deviceChannel.setPassword(XmlUtil.getText(itemDevice, "Password"));
String safetyWay = XmlUtil.getText(itemDevice, "SafetyWay");
- if (StringUtils.isEmpty(safetyWay)) {
+ if (ObjectUtils.isEmpty(safetyWay)) {
deviceChannel.setSafetyWay(0);
} else {
deviceChannel.setSafetyWay(Integer.parseInt(safetyWay));
}
String registerWay = XmlUtil.getText(itemDevice, "RegisterWay");
- if (StringUtils.isEmpty(registerWay)) {
+ if (ObjectUtils.isEmpty(registerWay)) {
deviceChannel.setRegisterWay(1);
} else {
deviceChannel.setRegisterWay(Integer.parseInt(registerWay));
@@ -395,7 +405,6 @@
} else {
deviceChannel.setPTZType(Integer.parseInt(XmlUtil.getText(itemDevice, "PTZType")));
}
- deviceChannel.setHasAudio(true); // 榛樿鍚湁闊抽锛屾挱鏀炬椂鍐嶆鏌ユ槸鍚︽湁闊抽鍙婃槸鍚AC
return deviceChannel;
}
}
\ No newline at end of file
--
Gitblit v1.8.0