From 71fe60d885b09d53fcd4c58afcfccf18d24a94c2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 11 四月 2024 15:34:56 +0800
Subject: [PATCH] 更新README
---
src/main/java/com/genersoft/iot/vmp/gb28181/session/AudioBroadcastManager.java | 52 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 44 insertions(+), 8 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..24eadba 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,9 @@
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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -17,21 +20,30 @@
@Component
public class AudioBroadcastManager {
+ private final static Logger logger = LoggerFactory.getLogger(AudioBroadcastManager.class);
+
@Autowired
private SipConfig config;
public static Map<String, AudioBroadcastCatch> data = new ConcurrentHashMap<>();
- public void add(AudioBroadcastCatch audioBroadcastCatch) {
- this.update(audioBroadcastCatch);
- }
public void update(AudioBroadcastCatch audioBroadcastCatch) {
- data.put(audioBroadcastCatch.getDeviceId() + audioBroadcastCatch.getChannelId(), audioBroadcastCatch);
+ if (SipUtils.isFrontEnd(audioBroadcastCatch.getDeviceId())) {
+ audioBroadcastCatch.setChannelId(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 +62,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));
@@ -70,4 +89,21 @@
return audioBroadcastCatch;
}
+
+ public List<AudioBroadcastCatch> get(String deviceId) {
+ List<AudioBroadcastCatch> audioBroadcastCatchList= new ArrayList<>();
+ if (SipUtils.isFrontEnd(deviceId)) {
+ if (data.get(deviceId) != null) {
+ audioBroadcastCatchList.add(data.get(deviceId));
+ }
+ }else {
+ for (String key : data.keySet()) {
+ if (key.startsWith(deviceId)) {
+ audioBroadcastCatchList.add(data.get(key));
+ }
+ }
+ }
+
+ return audioBroadcastCatchList;
+ }
}
--
Gitblit v1.8.0