From 21eef022b567ad80e577916b79c663593bb1004e Mon Sep 17 00:00:00 2001
From: 648540858 <18010473990@163.com>
Date: 星期五, 10 九月 2021 11:37:54 +0800
Subject: [PATCH] 修复级联点播

---
 src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java |    8 ++++++--
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMRTPServerFactory.java                        |    1 +
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
index fcc1487..3014b2d 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/request/impl/InviteRequestProcessor.java
@@ -385,7 +385,9 @@
 		Response response = getMessageFactory().createResponse(statusCode, evt.getRequest());
 		ServerTransaction serverTransaction = getServerTransaction(evt);
 		serverTransaction.sendResponse(response);
-		if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
+		if (statusCode >= 200) {
+			if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
+		}
 	}
 
 	private void responseAck(RequestEvent evt, int statusCode, String msg) throws SipException, InvalidArgumentException, ParseException {
@@ -393,7 +395,9 @@
 		response.setReasonPhrase(msg);
 		ServerTransaction serverTransaction = getServerTransaction(evt);
 		serverTransaction.sendResponse(response);
-		if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
+		if (statusCode >= 200) {
+			if (serverTransaction.getDialog() != null) serverTransaction.getDialog().delete();
+		}
 	}
 
 	/**
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 3593102..bd56401 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
@@ -229,6 +229,7 @@
      */
     public int totalReaderCount(MediaServerItem mediaServerItem, String app, String streamId) {
         JSONObject mediaInfo = zlmresTfulUtils.getMediaInfo(mediaServerItem, app, "rtmp", streamId);
+        if (mediaInfo == null) return 0;
         return mediaInfo.getInteger("totalReaderCount");
     }
 

--
Gitblit v1.8.0