From f840c85666369d407ff08ceb6ba30b17aa9d0d4e Mon Sep 17 00:00:00 2001
From: lawrencehj <1934378145@qq.com>
Date: 星期三, 10 三月 2021 12:21:05 +0800
Subject: [PATCH] 修正一处可能导致死循环的代码
---
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java | 36 +++++++++---------------------------
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java | 5 +++++
2 files changed, 14 insertions(+), 27 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java
index 7f58de5..d93ba9c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/AckRequestProcessor.java
@@ -68,11 +68,16 @@
if (System.currentTimeMillis() - startTime < 30 * 1000) {
if (zlmrtpServerFactory.isRtpReady(streamInfo.getStreamId())) {
rtpPushed = true;
+ System.out.println("宸茶幏鍙栬澶囨帹娴侊紝寮�濮嬪悜涓婄骇鎺ㄦ祦");
zlmrtpServerFactory.startSendRtpStream(param);
} else {
+ System.out.println("绛夊緟璁惧鎺ㄦ祦.......");
Thread.sleep(2000);
continue;
}
+ } else {
+ rtpPushed = true;
+ System.out.println("璁惧鎺ㄦ祦瓒呮椂锛岀粓姝㈠悜涓婄骇鎺ㄦ祦");
}
} catch (InterruptedException e) {
e.printStackTrace();
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
index 819c6a8..a25753e 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java
@@ -127,46 +127,28 @@
}
/**
- *
+ * 璋冪敤zlm RESTful API 鈥斺�� startSendRtp
*/
public Boolean startSendRtpStream(Map<String, Object>param) {
Boolean result = false;
JSONObject jsonObject = zlmresTfulUtils.startSendRtp(param);
System.out.println(jsonObject);
- if (jsonObject != null) {
- switch (jsonObject.getInteger("code")){
- case 0:
- result= true;
- logger.error("RTP鎺ㄦ祦璇锋眰鎴愬姛锛屾湰鍦版帹娴佺鍙o細" + jsonObject.getString("local_port"));
- break;
- // case -300: // id宸茬粡瀛樺湪
- // result = false;
- // break;
- // case -400: // 绔彛鍗犵敤
- // result= false;
- // break;
- default:
- logger.error("RTP鎺ㄦ祦澶辫触: " + jsonObject.getString("msg"));
- break;
- }
- }else {
- // 妫�鏌LM鐘舵��
+ if (jsonObject == null) {
logger.error("RTP鎺ㄦ祦澶辫触: 璇锋鏌LM鏈嶅姟");
+ } else if (jsonObject.getInteger("code") == 0) {
+ result= true;
+ logger.error("RTP鎺ㄦ祦璇锋眰鎴愬姛锛屾湰鍦版帹娴佺鍙o細" + jsonObject.getString("local_port"));
+ } else {
+ logger.error("RTP鎺ㄦ祦澶辫触: " + jsonObject.getString("msg"));
}
return result;
}
/**
- *
+ * 鏌ヨ寰呰浆鎺ㄧ殑娴佹槸鍚﹀氨缁�
*/
public Boolean isRtpReady(String streamId) {
JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo("rtp", "rtmp", streamId);
- if (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online")) {
- logger.info("璁惧RTP鎺ㄦ祦鎴愬姛");
- return true;
- } else {
- logger.info("璁惧RTP鎺ㄦ祦鏈畬鎴�");
- return false;
- }
+ return (mediaInfo.getInteger("code") == 0 && mediaInfo.getBoolean("online"));
}
}
--
Gitblit v1.8.0