Commit f7006e4881b176c12e3ba07af7025b0ef4a1508c

Authored by 648540858
1 parent f760134b

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

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -717,8 +717,7 @@ public class SIPCommander implements ISIPCommander { @@ -717,8 +717,7 @@ public class SIPCommander implements ISIPCommander {
717 } 717 }
718 dialog = streamSession.getDialogByStream(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream()); 718 dialog = streamSession.getDialogByStream(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
719 } 719 }
720 - MediaServerItem mediaServerItem = mediaServerService.getOne(ssrcTransaction.getMediaServerId());  
721 - mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcTransaction.getSsrc()); 720 + mediaServerService.releaseSsrc(ssrcTransaction.getMediaServerId(), ssrcTransaction.getSsrc());
722 mediaServerService.closeRTPServer(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream()); 721 mediaServerService.closeRTPServer(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
723 streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream()); 722 streamSession.remove(ssrcTransaction.getDeviceId(), ssrcTransaction.getChannelId(), ssrcTransaction.getStream());
724 723
src/main/java/com/genersoft/iot/vmp/media/zlm/event/ZLMKeepliveTimeoutListener.java
@@ -61,7 +61,7 @@ public class ZLMKeepliveTimeoutListener extends RedisKeyExpirationEventMessageLi @@ -61,7 +61,7 @@ public class ZLMKeepliveTimeoutListener extends RedisKeyExpirationEventMessageLi
61 // 发起http请求验证zlm是否确实无法连接,如果确实无法连接则发送离线事件,否则不作处理 61 // 发起http请求验证zlm是否确实无法连接,如果确实无法连接则发送离线事件,否则不作处理
62 MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId); 62 MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
63 JSONObject mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServerItem); 63 JSONObject mediaServerConfig = zlmresTfulUtils.getMediaServerConfig(mediaServerItem);
64 - if (mediaServerConfig == null) { 64 + if (mediaServerConfig == null || mediaServerConfig.getInteger("code") == -2) {
65 publisher.zlmOfflineEventPublish(mediaServerId); 65 publisher.zlmOfflineEventPublish(mediaServerId);
66 }else { 66 }else {
67 logger.info("[zlm心跳到期]:{}验证后zlm仍在线,恢复心跳信息", mediaServerId); 67 logger.info("[zlm心跳到期]:{}验证后zlm仍在线,恢复心跳信息", mediaServerId);
web_src/src/components/channelList.vue
@@ -3,7 +3,9 @@ @@ -3,7 +3,9 @@
3 <div class="page-header"> 3 <div class="page-header">
4 <div class="page-title"> 4 <div class="page-title">
5 <el-button icon="el-icon-back" size="mini" style="font-size: 20px; color: #000;" type="text" @click="showDevice" ></el-button> 5 <el-button icon="el-icon-back" size="mini" style="font-size: 20px; color: #000;" type="text" @click="showDevice" ></el-button>
6 - 通道列表</div> 6 + <el-divider direction="vertical"></el-divider>
  7 + 通道列表
  8 + </div>
7 <div class="page-header-btn"> 9 <div class="page-header-btn">
8 搜索: 10 搜索:
9 <el-input @input="search" style="margin-right: 1rem; width: auto;" size="mini" placeholder="关键字" 11 <el-input @input="search" style="margin-right: 1rem; width: auto;" size="mini" placeholder="关键字"