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 138 }else {
139 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 149 int totalReaderCount = zlmServerFactory.totalReaderCount(mediaInfo, sendRtpItem.getApp(), streamId);
... ...