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