From ecf84bb0f1952c4a044ff6c8aa18226b31593f3f Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 18 十一月 2022 21:52:02 +0800 Subject: [PATCH] 合并主线 --- src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java | 27 ++++++++++++++++++++++----- 1 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java index d3ddf52..7186fad 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java @@ -2,6 +2,7 @@ import com.genersoft.iot.vmp.conf.SipConfig; import com.genersoft.iot.vmp.gb28181.bean.AudioBroadcastCatch; +import com.genersoft.iot.vmp.gb28181.utils.SipUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -27,11 +28,20 @@ } public void update(AudioBroadcastCatch audioBroadcastCatch) { - data.put(audioBroadcastCatch.getDeviceId() + audioBroadcastCatch.getChannelId(), audioBroadcastCatch); + if (SipUtils.isFrontEnd(audioBroadcastCatch.getDeviceId())) { + data.put(audioBroadcastCatch.getDeviceId(), audioBroadcastCatch); + }else { + data.put(audioBroadcastCatch.getDeviceId() + audioBroadcastCatch.getChannelId(), audioBroadcastCatch); + } } public void del(String deviceId, String channelId) { - data.remove(deviceId + channelId); + if (SipUtils.isFrontEnd(deviceId)) { + data.remove(deviceId); + }else { + data.remove(deviceId + channelId); + } + } public void delByDeviceId(String deviceId) { @@ -50,15 +60,22 @@ public boolean exit(String deviceId, String channelId) { for (String key : data.keySet()) { - if (key.equals(deviceId + channelId)) { - return true; + if (SipUtils.isFrontEnd(deviceId)) { + return key.equals(deviceId); + }else { + return key.equals(deviceId + channelId); } } return false; } public AudioBroadcastCatch get(String deviceId, String channelId) { - AudioBroadcastCatch audioBroadcastCatch = data.get(deviceId + channelId); + AudioBroadcastCatch audioBroadcastCatch; + if (SipUtils.isFrontEnd(deviceId)) { + audioBroadcastCatch = data.get(deviceId); + }else { + audioBroadcastCatch = data.get(deviceId + channelId); + } if (audioBroadcastCatch == null) { Stream<AudioBroadcastCatch> allAudioBroadcastCatchStreamForDevice = data.values().stream().filter( audioBroadcastCatchItem -> Objects.equals(audioBroadcastCatchItem.getDeviceId(), deviceId)); -- Gitblit v1.8.0