From 6ba8ab22b54e83d0e0edabb9d0fdc8870b86e98f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 19 一月 2022 15:08:13 +0800
Subject: [PATCH] 修复推流生成通道未通知上级平台的问题,添加注册时清楚脏数据。
---
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java | 9 +++++++--
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 4 +++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
index 053bf9a..d9bfb56 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/RegisterRequestProcessor.java
@@ -90,8 +90,13 @@
AddressImpl address = (AddressImpl) fromHeader.getAddress();
SipUri uri = (SipUri) address.getURI();
String deviceId = uri.getUser();
- Device device = redisCatchStorage.getDevice(deviceId);
- AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
+ Device deviceInRedis = redisCatchStorage.getDevice(deviceId);
+ Device device = storager.queryVideoDevice(deviceId);
+ if (deviceInRedis != null && device == null) {
+ // redis 瀛樺湪鑴忔暟鎹�
+ redisCatchStorage.clearCatchByDeviceId(deviceId);
+ }
+ AuthorizationHeader authorhead = (AuthorizationHeader) request.getHeader(AuthorizationHeader.NAME);
// 鏍¢獙瀵嗙爜鏄惁姝g‘
if (authorhead != null) {
passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
index ac278a7..dc4d497 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -814,9 +814,11 @@
streamPushItem.setCatalogId(parentPlatform.getCatalogId());
streamPushItem.setPlatformId(parentPlatform.getServerGBId());
String stream = streamPushItem.getStream();
- StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), stream, parentPlatform.getServerGBId());
+ StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), stream,
+ parentPlatform.getServerGBId());
if (streamProxyItems == null) {
platformGbStreamMapper.add(streamPushItem);
+ eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), streamPushItem, CatalogEvent.ADD);
}
}
}
--
Gitblit v1.8.0