From 87e7d0026f2a0feae169f103f90256005968b6aa Mon Sep 17 00:00:00 2001
From: lawrencehj <1934378145@qq.com>
Date: 星期五, 23 七月 2021 16:56:32 +0800
Subject: [PATCH] 解决@value注解无法赋默认值问题
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java | 241 ++++++++++++++++++++++-------------------------
1 files changed, 113 insertions(+), 128 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
index eb80955..5c2fa32 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -1,8 +1,6 @@
package com.genersoft.iot.vmp.gb28181.transmit.cmd.impl;
import java.text.ParseException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import javax.sip.*;
import javax.sip.address.SipURI;
@@ -10,15 +8,15 @@
import javax.sip.header.ViaHeader;
import javax.sip.message.Request;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.common.StreamInfo;
-import com.genersoft.iot.vmp.conf.MediaServerConfig;
+import com.genersoft.iot.vmp.conf.MediaConfig;
+import com.genersoft.iot.vmp.conf.UserSetup;
+import com.genersoft.iot.vmp.media.zlm.*;
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
-import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
-import com.genersoft.iot.vmp.media.zlm.ZLMRESTfulUtils;
-import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
+import com.genersoft.iot.vmp.media.zlm.dto.IMediaServerItem;
+import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.storager.IRedisCatchStorage;
import com.genersoft.iot.vmp.storager.IVideoManagerStorager;
import gov.nist.javax.sip.message.SIPRequest;
@@ -26,7 +24,6 @@
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.DependsOn;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
@@ -39,6 +36,7 @@
import com.genersoft.iot.vmp.gb28181.utils.DateUtil;
import com.genersoft.iot.vmp.gb28181.utils.NumericUtil;
import com.genersoft.iot.vmp.gb28181.utils.XmlUtil;
+import org.springframework.util.StringUtils;
/**
* @Description:璁惧鑳藉姏鎺ュ彛锛岀敤浜庡畾涔夎澶囩殑鎺у埗銆佹煡璇㈣兘鍔�
@@ -80,19 +78,7 @@
private ZLMRTPServerFactory zlmrtpServerFactory;
@Autowired
- private ZLMRESTfulUtils zlmresTfulUtils;
-
- @Value("${media.rtp.enable}")
- private boolean rtpEnable;
-
- @Value("${media.seniorSdp}")
- private boolean seniorSdp;
-
- @Value("${media.autoApplyPlay}")
- private boolean autoApplyPlay;
-
- @Value("${userSettings.waitTrack}")
- private boolean waitTrack;
+ private UserSetup userSetup;
@Autowired
private ZLMHttpHookSubscribe subscribe;
@@ -280,7 +266,7 @@
public boolean frontEndCmd(Device device, String channelId, int cmdCode, int parameter1, int parameter2, int combineCode2) {
try {
String cmdStr= frontEndCmdString(cmdCode, parameter1, parameter2, combineCode2);
- System.out.println("鎺у埗瀛楃涓诧細" + cmdStr);
+ logger.info("鎺у埗瀛楃涓诧細" + cmdStr);
StringBuffer ptzXml = new StringBuffer(200);
ptzXml.append("<?xml version=\"1.0\" ?>\r\n");
ptzXml.append("<Control>\r\n");
@@ -348,51 +334,48 @@
* @param errorEvent sip閿欒璁㈤槄
*/
@Override
- public void playStreamCmd(Device device, String channelId, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent) {
+ public void playStreamCmd(IMediaServerItem mediaServerItem, Device device, String channelId, ZLMHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent) {
String streamId = null;
try {
if (device == null) return;
+ String streamMode = device.getStreamMode().toUpperCase();
+
String ssrc = streamSession.createPlaySsrc();
- if (rtpEnable) {
+ if (mediaServerItem.isRtpEnable()) {
streamId = String.format("gb_play_%s_%s", device.getDeviceId(), channelId);
}else {
streamId = String.format("%08x", Integer.parseInt(ssrc)).toUpperCase();
}
- String streamMode = device.getStreamMode().toUpperCase();
- MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
- if (mediaInfo == null) {
- logger.warn("鐐规挱鏃跺彂鐜癦LM灏氭湭杩炴帴...");
- return;
- }
- String mediaPort = null;
+ Integer mediaPort = null;
// 浣跨敤鍔ㄦ�乽dp绔彛
- if (rtpEnable) {
- mediaPort = zlmrtpServerFactory.createRTPServer(streamId) + "";
+ if (mediaServerItem.isRtpEnable()) {
+ mediaPort = zlmrtpServerFactory.createRTPServer(mediaServerItem, streamId);
}else {
- mediaPort = mediaInfo.getRtpProxyPort();
+ mediaPort = mediaServerItem.getRtpProxyPort();
}
-
+ logger.info("{} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", streamId, mediaServerItem.getId(), mediaServerItem.getIp(), mediaPort);
// 娣诲姞璁㈤槄
JSONObject subscribeKey = new JSONObject();
subscribeKey.put("app", "rtp");
subscribeKey.put("stream", streamId);
subscribeKey.put("regist", true);
-
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey, json->{
- if (waitTrack && json.getJSONArray("tracks") == null) return;
- event.response(json);
+ subscribeKey.put("mediaServerId", mediaServerItem.getId());
+ subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
+ (IMediaServerItem mediaServerItemInUse, JSONObject json)->{
+ if (userSetup.isWaitTrack() && json.getJSONArray("tracks") == null) return;
+ event.response(mediaServerItemInUse, json);
subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey);
});
//
StringBuffer content = new StringBuffer(200);
content.append("v=0\r\n");
// content.append("o=" + sipConfig.getSipId() + " 0 0 IN IP4 "+mediaInfo.getWanIp()+"\r\n");
- content.append("o="+"00000"+" 0 0 IN IP4 "+mediaInfo.getWanIp()+"\r\n");
+ content.append("o="+"00000"+" 0 0 IN IP4 "+ mediaServerItem.getSdpIp() +"\r\n");
content.append("s=Play\r\n");
- content.append("c=IN IP4 "+mediaInfo.getWanIp()+"\r\n");
+ content.append("c=IN IP4 "+ mediaServerItem.getSdpIp() +"\r\n");
content.append("t=0 0\r\n");
- if (seniorSdp) {
+ if (userSetup.isSeniorSdp()) {
if("TCP-PASSIVE".equals(streamMode)) {
content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 126 125 99 34 98 97\r\n");
}else if ("TCP-ACTIVE".equals(streamMode)) {
@@ -467,21 +450,32 @@
* @param endTime 缁撴潫鏃堕棿,鏍煎紡瑕佹眰锛歽yyy-MM-dd HH:mm:ss
*/
@Override
- public void playbackStreamCmd(Device device, String channelId, String startTime, String endTime, ZLMHttpHookSubscribe.Event event
+ public void playbackStreamCmd(IMediaServerItem mediaServerItem,Device device, String channelId, String startTime, String endTime, ZLMHttpHookSubscribe.Event event
, SipSubscribe.Event errorEvent) {
try {
- MediaServerConfig mediaInfo = redisCatchStorage.getMediaInfo();
String ssrc = streamSession.createPlayBackSsrc();
String streamId = String.format("%08x", Integer.parseInt(ssrc)).toUpperCase();
+
+ Integer mediaPort = null;
+ // 浣跨敤鍔ㄦ�乽dp绔彛
+ if (mediaServerItem.isRtpEnable()) {
+ mediaPort = zlmrtpServerFactory.createRTPServer(mediaServerItem, streamId);
+ }else {
+ mediaPort = mediaServerItem.getRtpProxyPort();
+ }
+ logger.info("{} 鍒嗛厤鐨刏LM涓�: {} [{}:{}]", streamId, mediaServerItem.getId(), mediaServerItem.getIp(), mediaPort);
+
// 娣诲姞璁㈤槄
JSONObject subscribeKey = new JSONObject();
subscribeKey.put("app", "rtp");
subscribeKey.put("stream", streamId);
subscribeKey.put("regist", true);
-
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey, json->{
- if (json.getJSONArray("tracks") == null) return;
- event.response(json);
+ subscribeKey.put("mediaServerId", mediaServerItem.getId());
+ logger.debug("褰曞儚鍥炴斁娣诲姞璁㈤槄锛岃闃呭唴瀹癸細" + subscribeKey.toString());
+ subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
+ (IMediaServerItem mediaServerItemInUse, JSONObject json)->{
+ if (userSetup.isWaitTrack() && json.getJSONArray("tracks") == null) return;
+ event.response(mediaServerItemInUse, json);
subscribe.removeSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey);
});
@@ -490,19 +484,15 @@
content.append("o="+sipConfig.getSipId()+" 0 0 IN IP4 "+sipConfig.getSipIp()+"\r\n");
content.append("s=Playback\r\n");
content.append("u="+channelId+":0\r\n");
- content.append("c=IN IP4 "+mediaInfo.getWanIp()+"\r\n");
+ content.append("c=IN IP4 "+mediaServerItem.getSdpIp()+"\r\n");
content.append("t="+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(startTime)+" "
+DateUtil.yyyy_MM_dd_HH_mm_ssToTimestamp(endTime) +"\r\n");
- String mediaPort = null;
- // 浣跨敤鍔ㄦ�乽dp绔彛
- if (rtpEnable) {
- mediaPort = zlmrtpServerFactory.createRTPServer(streamId) + "";
- }else {
- mediaPort = mediaInfo.getRtpProxyPort();
- }
+
+
+
String streamMode = device.getStreamMode().toUpperCase();
- if (seniorSdp) {
+ if (userSetup.isSeniorSdp()) {
if("TCP-PASSIVE".equals(streamMode)) {
content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 126 125 99 34 98 97\r\n");
}else if ("TCP-ACTIVE".equals(streamMode)) {
@@ -568,56 +558,63 @@
/**
- * 瑙嗛娴佸仠姝�
- *
+ * 瑙嗛娴佸仠姝�, 涓嶄娇鐢ㄥ洖璋�
*/
@Override
public void streamByeCmd(String deviceId, String channelId) {
streamByeCmd(deviceId, channelId, null);
}
+
+ /**
+ * 瑙嗛娴佸仠姝�
+ */
@Override
public void streamByeCmd(String deviceId, String channelId, SipSubscribe.Event okEvent) {
-
+ StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
try {
ClientTransaction transaction = streamSession.getTransaction(deviceId, channelId);
// 鏈嶅姟閲嶅惎鍚�, 鏃犳硶鐩存帴鍙戦�乥ye锛� 閫氳繃鎵嬪姩鏋勫缓鍙戦��
+// if (transaction == null) {
+//
+// if (streamInfo != null) {
+// MediaServerItem mediaServerItem = redisCatchStorage.getMediaInfo(streamInfo.getMediaServerId());
+// JSONObject mediaList = zlmresTfulUtils.getMediaList(mediaServerItem,streamInfo.getApp(), streamInfo.getStreamId());
+// if (mediaList != null) { // 浠嶅湪鎺ㄦ祦鎵嶅彂閫�
+// if (mediaList.getInteger("code") == 0) {
+// JSONArray data = mediaList.getJSONArray("data");
+// if (data != null && data.size() > 0) {
+// Device device = storager.queryVideoDevice(deviceId);
+// if (device != null) {
+// StreamInfo.TransactionInfo transactionInfo = streamInfo.getTransactionInfo();
+// try {
+// Request byteRequest = headerProvider.createByteRequest(device, channelId,
+// transactionInfo.branch,
+// transactionInfo.localTag,
+// transactionInfo.remoteTag,
+// transactionInfo.callId);
+// transmitRequest(device, byteRequest);
+// } catch (InvalidArgumentException e) {
+// e.printStackTrace();
+// }
+// }
+// }
+// }
+// }
+// redisCatchStorage.stopPlay(streamInfo);
+// }
+//
+// if (okEvent != null) {
+// okEvent.response(null);
+// }
+// return;
+// }
if (transaction == null) {
-
- StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
- if (streamInfo != null) {
- JSONObject mediaList = zlmresTfulUtils.getMediaList(streamInfo.getApp(), streamInfo.getStreamId());
- if (mediaList != null) { // 浠嶅湪鎺ㄦ祦鎵嶅彂閫�
- if (mediaList.getInteger("code") == 0) {
- JSONArray data = mediaList.getJSONArray("data");
- if (data != null && data.size() > 0) {
- Device device = storager.queryVideoDevice(deviceId);
- if (device != null) {
- StreamInfo.TransactionInfo transactionInfo = streamInfo.getTransactionInfo();
- try {
- Request byteRequest = headerProvider.createByteRequest(device, channelId,
- transactionInfo.branch,
- transactionInfo.localTag,
- transactionInfo.remoteTag,
- transactionInfo.callId);
- transmitRequest(device, byteRequest);
- } catch (InvalidArgumentException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
- redisCatchStorage.stopPlay(streamInfo);
- }
-
- if (okEvent != null) {
- okEvent.response(null);
- }
+ logger.warn("[ {} -> {}]鍋滄瑙嗛娴佺殑鏃跺�欏彂鐜颁簨鍔″凡涓㈠け", deviceId, channelId);
return;
}
-
Dialog dialog = transaction.getDialog();
if (dialog == null) {
+ logger.warn("[ {} -> {}]鍋滄瑙嗛娴佺殑鏃跺�欏彂鐜板璇濆凡涓㈠け", deviceId, channelId);
return;
}
Request byeRequest = dialog.createRequest(Request.BYE);
@@ -640,7 +637,7 @@
}
dialog.sendRequest(clientTransaction);
- zlmrtpServerFactory.closeRTPServer(streamSession.getStreamId(deviceId, channelId));
+
streamSession.remove(deviceId, channelId);
} catch (SipException | ParseException e) {
e.printStackTrace();
@@ -729,7 +726,7 @@
cmdXml.append("<Control>\r\n");
cmdXml.append("<CmdType>DeviceControl</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
@@ -829,16 +826,16 @@
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
cmdXml.append("<AlarmCmd>ResetAlarm</AlarmCmd>\r\n");
- if (!XmlUtil.isEmpty(alarmMethod) || !XmlUtil.isEmpty(alarmType)) {
+ if (!StringUtils.isEmpty(alarmMethod) || !StringUtils.isEmpty(alarmType)) {
cmdXml.append("<Info>\r\n");
}
- if (!XmlUtil.isEmpty(alarmMethod)) {
+ if (!StringUtils.isEmpty(alarmMethod)) {
cmdXml.append("<AlarmMethod>" + alarmMethod + "</AlarmMethod>\r\n");
}
- if (!XmlUtil.isEmpty(alarmType)) {
+ if (!StringUtils.isEmpty(alarmType)) {
cmdXml.append("<AlarmType>" + alarmType + "</AlarmType>\r\n");
}
- if (!XmlUtil.isEmpty(alarmMethod) || !XmlUtil.isEmpty(alarmType)) {
+ if (!StringUtils.isEmpty(alarmMethod) || !StringUtils.isEmpty(alarmType)) {
cmdXml.append("</Info>\r\n");
}
cmdXml.append("</Control>\r\n");
@@ -871,7 +868,7 @@
cmdXml.append("<Control>\r\n");
cmdXml.append("<CmdType>DeviceControl</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
@@ -909,7 +906,7 @@
cmdXml.append("<Control>\r\n");
cmdXml.append("<CmdType>DeviceControl</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
@@ -977,13 +974,13 @@
cmdXml.append("<Control>\r\n");
cmdXml.append("<CmdType>DeviceConfig</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
}
cmdXml.append("<BasicParam>\r\n");
- if (!XmlUtil.isEmpty(name)) {
+ if (!StringUtils.isEmpty(name)) {
cmdXml.append("<Name>" + name + "</Name>\r\n");
}
if (NumericUtil.isInteger(expiration)) {
@@ -1177,22 +1174,22 @@
cmdXml.append("<CmdType>Alarm</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
- if (!XmlUtil.isEmpty(startPriority)) {
+ if (!StringUtils.isEmpty(startPriority)) {
cmdXml.append("<StartAlarmPriority>" + startPriority + "</StartAlarmPriority>\r\n");
}
- if (!XmlUtil.isEmpty(endPriority)) {
+ if (!StringUtils.isEmpty(endPriority)) {
cmdXml.append("<EndAlarmPriority>" + endPriority + "</EndAlarmPriority>\r\n");
}
- if (!XmlUtil.isEmpty(alarmMethod)) {
+ if (!StringUtils.isEmpty(alarmMethod)) {
cmdXml.append("<AlarmMethod>" + alarmMethod + "</AlarmMethod>\r\n");
}
- if (!XmlUtil.isEmpty(alarmType)) {
+ if (!StringUtils.isEmpty(alarmType)) {
cmdXml.append("<AlarmType>" + alarmType + "</AlarmType>\r\n");
}
- if (!XmlUtil.isEmpty(startTime)) {
+ if (!StringUtils.isEmpty(startTime)) {
cmdXml.append("<StartAlarmTime>" + startTime + "</StartAlarmTime>\r\n");
}
- if (!XmlUtil.isEmpty(endTime)) {
+ if (!StringUtils.isEmpty(endTime)) {
cmdXml.append("<EndAlarmTime>" + endTime + "</EndAlarmTime>\r\n");
}
cmdXml.append("</Query>\r\n");
@@ -1226,7 +1223,7 @@
cmdXml.append("<Query>\r\n");
cmdXml.append("<CmdType>ConfigDownload</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
@@ -1261,7 +1258,7 @@
cmdXml.append("<Query>\r\n");
cmdXml.append("<CmdType>PresetQuery</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
- if (XmlUtil.isEmpty(channelId)) {
+ if (StringUtils.isEmpty(channelId)) {
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
} else {
cmdXml.append("<DeviceID>" + channelId + "</DeviceID>\r\n");
@@ -1373,22 +1370,22 @@
cmdXml.append("<CmdType>Alarm</CmdType>\r\n");
cmdXml.append("<SN>" + (int)((Math.random()*9+1)*100000) + "</SN>\r\n");
cmdXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n");
- if (!XmlUtil.isEmpty(startPriority)) {
+ if (!StringUtils.isEmpty(startPriority)) {
cmdXml.append("<StartAlarmPriority>" + startPriority + "</StartAlarmPriority>\r\n");
}
- if (!XmlUtil.isEmpty(endPriority)) {
+ if (!StringUtils.isEmpty(endPriority)) {
cmdXml.append("<EndAlarmPriority>" + endPriority + "</EndAlarmPriority>\r\n");
}
- if (!XmlUtil.isEmpty(alarmMethod)) {
+ if (!StringUtils.isEmpty(alarmMethod)) {
cmdXml.append("<AlarmMethod>" + alarmMethod + "</AlarmMethod>\r\n");
}
- if (!XmlUtil.isEmpty(alarmType)) {
+ if (!StringUtils.isEmpty(alarmType)) {
cmdXml.append("<AlarmType>" + alarmType + "</AlarmType>\r\n");
}
- if (!XmlUtil.isEmpty(startTime)) {
+ if (!StringUtils.isEmpty(startTime)) {
cmdXml.append("<StartAlarmTime>" + startTime + "</StartAlarmTime>\r\n");
}
- if (!XmlUtil.isEmpty(endTime)) {
+ if (!StringUtils.isEmpty(endTime)) {
cmdXml.append("<EndAlarmTime>" + endTime + "</EndAlarmTime>\r\n");
}
cmdXml.append("</Query>\r\n");
@@ -1438,17 +1435,5 @@
clientTransaction.sendRequest();
return clientTransaction;
- }
-
-
-
-
- @Override
- public void closeRTPServer(Device device, String channelId) {
- if (rtpEnable) {
- String streamId = String.format("gb_play_%s_%s", device.getDeviceId(), channelId);
- zlmrtpServerFactory.closeRTPServer(streamId);
- }
- streamSession.remove(device.getDeviceId(), channelId);
}
}
--
Gitblit v1.8.0