Commit d4fdd975cc760432b11f931a003174d435e5b5b0

Authored by 648540858
1 parent 4f26bd71

优化对讲释放流程

src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/ByeRequestProcessor.java
@@ -138,14 +138,12 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In @@ -138,14 +138,12 @@ public class ByeRequestProcessor extends SIPRequestProcessorParent implements In
138 }else { 138 }else {
139 logger.info("[上级平台停止观看] 未找到平台{}的信息,发送redis消息失败", sendRtpItem.getPlatformId()); 139 logger.info("[上级平台停止观看] 未找到平台{}的信息,发送redis消息失败", sendRtpItem.getPlatformId());
140 } 140 }
141 - }else if (sendRtpItem.getPlayType().equals(InviteStreamType.BROADCAST)  
142 - || sendRtpItem.getPlayType().equals(InviteStreamType.TALK)) {  
143 - AudioBroadcastCatch audioBroadcastCatch = audioBroadcastManager.get(sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());  
144 - if (audioBroadcastCatch != null) {  
145 - // 来自上级平台的停止对讲  
146 - logger.info("[停止对讲] 来自上级,平台:{}, 通道:{}", sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());  
147 - audioBroadcastManager.del(sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());  
148 - } 141 + }
  142 + AudioBroadcastCatch audioBroadcastCatch = audioBroadcastManager.get(sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());
  143 + if (audioBroadcastCatch != null && audioBroadcastCatch.getSipTransactionInfo().getCallId().equals(callIdHeader.getCallId())) {
  144 + // 来自上级平台的停止对讲
  145 + logger.info("[停止对讲] 来自上级,平台:{}, 通道:{}", sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());
  146 + audioBroadcastManager.del(sendRtpItem.getDeviceId(), sendRtpItem.getChannelId());
149 } 147 }
150 148
151 int totalReaderCount = zlmServerFactory.totalReaderCount(mediaInfo, sendRtpItem.getApp(), streamId); 149 int totalReaderCount = zlmServerFactory.totalReaderCount(mediaInfo, sendRtpItem.getApp(), streamId);