Kaynağa Gözat

修复播放中zlm离线导致的bye发送失败

648540858 3 yıl önce
ebeveyn
işleme
f7006e4881

+ 1 - 2
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java

@@ -717,8 +717,7 @@ public class SIPCommander implements ISIPCommander {
 				}
 				dialog = streamSession.getDialogByStream(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
 			}
-			MediaServerItem mediaServerItem = mediaServerService.getOne(ssrcTransaction.getMediaServerId());
-			mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcTransaction.getSsrc());
+			mediaServerService.releaseSsrc(ssrcTransaction.getMediaServerId(), ssrcTransaction.getSsrc());
 			mediaServerService.closeRTPServer(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
 			streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
 

+ 1 - 1
src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java

@@ -61,7 +61,7 @@ public class ZLMKeepliveTimeoutListener extends RedisKeyExpirationEventMessageLi
         // 发起http请求验证zlm是否确实无法连接,如果确实无法连接则发送离线事件,否则不作处理
         MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
         JSONObject mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServerItem);
-        if (mediaServerConfig == null) {
+        if (mediaServerConfig == null || mediaServerConfig.getInteger("code") == -2) {
             publisher.zlmOfflineEventPublish(mediaServerId);
         }else {
             logger.info("[zlm心跳到期]:{}验证后zlm仍在线,恢复心跳信息", mediaServerId);

+ 3 - 1
web_src/src/components/channelList.vue

@@ -3,7 +3,9 @@
     <div class="page-header">
       <div class="page-title">
         <el-button icon="el-icon-back" size="mini" style="font-size: 20px; color: #000;" type="text" @click="showDevice" ></el-button>
-        通道列表</div>
+        <el-divider direction="vertical"></el-divider>
+        通道列表
+      </div>
       <div class="page-header-btn">
       搜索:
       <el-input @input="search" style="margin-right: 1rem; width: auto;" size="mini" placeholder="关键字"