From 6e8071d820aa55173e64fd25609caa3b6b9af98a Mon Sep 17 00:00:00 2001
From: bradyx <xushanbin@zdjtcm.com>
Date: 星期三, 15 五月 2024 13:52:16 +0800
Subject: [PATCH] fix: 系统启动时,停止已启动国标推流抛出异常被系统捕获,启动服务失败。

---
 src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java b/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java
index 4ec0bfe..cde96df 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/service/IMediaServerService.java
@@ -2,8 +2,10 @@
 
 import com.genersoft.iot.vmp.common.CommonCallback;
 import com.genersoft.iot.vmp.common.StreamInfo;
+import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform;
+import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
 import com.genersoft.iot.vmp.media.bean.MediaInfo;
-import com.genersoft.iot.vmp.media.zlm.dto.MediaServer;
+import com.genersoft.iot.vmp.media.bean.MediaServer;
 import com.genersoft.iot.vmp.service.bean.MediaServerLoad;
 import com.genersoft.iot.vmp.service.bean.SSRCInfo;
 import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
@@ -33,9 +35,7 @@
     void updateVmServer(List<MediaServer>  mediaServerItemList);
 
     SSRCInfo openRTPServer(MediaServer mediaServerItem, String streamId, String presetSsrc, boolean ssrcCheck,
-                           boolean isPlayback, Integer port, Boolean onlyAuto, Boolean reUsePort, Integer tcpMode);
-
-    SSRCInfo openRTPServer(MediaServer mediaServerItem, String streamId, String ssrc, boolean ssrcCheck, boolean isPlayback, Integer port, Boolean onlyAuto);
+                           boolean isPlayback, Integer port, Boolean onlyAuto, Boolean disableAudio, Boolean reUsePort, Integer tcpMode);
 
     void closeRTPServer(MediaServer mediaServerItem, String streamId);
 
@@ -75,6 +75,8 @@
     MediaServer getOneFromDatabase(String id);
 
     boolean stopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc);
+
+    boolean initStopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc);
 
     boolean deleteRecordDirectory(MediaServer mediaServerItem, String app, String stream, String date, String fileName);
 
@@ -135,5 +137,18 @@
      * @param stream
      * @return
      */
-    StreamInfo getStreamInfoByAppAndStream(MediaServer mediaServerItem, String app, String stream, MediaInfo mediaInfo, String addr, String callId, boolean isPlay);
+    StreamInfo getStreamInfoByAppAndStream(MediaServer mediaServer, String app, String stream, MediaInfo mediaInfo, String addr, String callId, boolean isPlay);
+
+    Boolean isStreamReady(MediaServer mediaServer, String rtp, String streamId);
+
+    void startSendRtpPassive(MediaServer mediaServer, ParentPlatform platform, SendRtpItem sendRtpItem, Integer timeout);
+
+    void startSendRtp(MediaServer mediaServer, ParentPlatform platform, SendRtpItem sendRtpItem);
+
+    SendRtpItem createSendRtpItem(MediaServer mediaServerItem, String addressStr, int port, String ssrc, String requesterId, String deviceId, String channelId, boolean mediaTransmissionTCP, boolean rtcp);
+
+    SendRtpItem createSendRtpItem(MediaServer serverItem, String ip, int port, String ssrc, String platformId,
+                                  String app, String stream, String channelId, boolean tcp, boolean rtcp);
+
+    MediaServer getMediaServerByAppAndStream(String app, String stream);
 }

--
Gitblit v1.8.0