From c69b64c756770067c8c89d1f2f2fb80d4a88031f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 28 五月 2024 10:23:17 +0800
Subject: [PATCH] 修复CSEQ重置错误 #1449

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java |   28 +++++++++++++++++++++++++++-
 1 files changed, 27 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
index ca1eb52..4cfdaf3 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaNodeServerService.java
@@ -94,6 +94,8 @@
         MediaServer mediaServer = new MediaServer();
         mediaServer.setIp(ip);
         mediaServer.setHttpPort(port);
+        mediaServer.setFlvPort(port);
+        mediaServer.setWsFlvPort(port);
         mediaServer.setSecret(secret);
         JSONObject responseJSON = zlmresTfulUtils.getMediaServerConfig(mediaServer);
         if (responseJSON == null) {
@@ -109,12 +111,15 @@
         }
         mediaServer.setId(zlmServerConfig.getGeneralMediaServerId());
         mediaServer.setHttpSSlPort(zlmServerConfig.getHttpPort());
+        mediaServer.setFlvSSLPort(zlmServerConfig.getHttpPort());
+        mediaServer.setWsFlvSSLPort(zlmServerConfig.getHttpPort());
         mediaServer.setRtmpPort(zlmServerConfig.getRtmpPort());
         mediaServer.setRtmpSSlPort(zlmServerConfig.getRtmpSslPort());
         mediaServer.setRtspPort(zlmServerConfig.getRtspPort());
         mediaServer.setRtspSSLPort(zlmServerConfig.getRtspSSlport());
         mediaServer.setRtpProxyPort(zlmServerConfig.getRtpProxyPort());
         mediaServer.setStreamIp(ip);
+
         mediaServer.setHookIp(sipIp.split(",")[0]);
         mediaServer.setSdpIp(ip);
         mediaServer.setType("zlm");
@@ -131,11 +136,32 @@
             param.put("ssrc", ssrc);
         }
         JSONObject jsonObject = zlmresTfulUtils.stopSendRtp(mediaInfo, param);
-        return (jsonObject != null && jsonObject.getInteger("code") == 0);
+        if (jsonObject == null || jsonObject.getInteger("code") != 0 ) {
+            logger.error("鍋滄鍙戞祦澶辫触: {}, 鍙傛暟锛歿}", jsonObject.getString("msg"), JSON.toJSONString(param));
+            throw new ControllerException(jsonObject.getInteger("code"), jsonObject.getString("msg"));
+        }
+        return true;
 
     }
 
     @Override
+    public boolean initStopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc) {
+        Map<String, Object> param = new HashMap<>();
+        param.put("vhost", "__defaultVhost__");
+        param.put("app", app);
+        param.put("stream", stream);
+        if (!ObjectUtils.isEmpty(ssrc)) {
+            param.put("ssrc", ssrc);
+        }
+        JSONObject jsonObject = zlmresTfulUtils.stopSendRtp(mediaInfo, param);
+        if (jsonObject == null || jsonObject.getInteger("code") != 0 ) {
+            logger.error("鍋滄鍙戞祦澶辫触: {}, 鍙傛暟锛歿}", jsonObject.getString("msg"), JSON.toJSONString(param));
+            return false;
+        }
+        return true;
+    }
+
+    @Override
     public boolean deleteRecordDirectory(MediaServer mediaServer, String app, String stream, String date, String fileName) {
         logger.info("[zlm-deleteRecordDirectory] 鍒犻櫎纾佺洏鏂囦欢, server: {} {}:{}->{}/{}", mediaServer.getId(), app, stream, date, fileName);
         JSONObject jsonObject = zlmresTfulUtils.deleteRecordDirectory(mediaServer, app,

--
Gitblit v1.8.0