From 3e71e0bdf1e4b2e527d491d426f67e34b7d3c148 Mon Sep 17 00:00:00 2001
From: xiaoQQya <xiaoQQya@126.com>
Date: 星期六, 05 十一月 2022 11:35:01 +0800
Subject: [PATCH] perf(rtcPlayer): 修改控制台 log 级别
---
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java | 189 ++++++-----------------------------------------
1 files changed, 25 insertions(+), 164 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
index a839f72..79edcf8 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStorageImpl.java
@@ -2,6 +2,7 @@
import com.genersoft.iot.vmp.common.StreamInfo;
import com.genersoft.iot.vmp.conf.SipConfig;
+import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.*;
import com.genersoft.iot.vmp.gb28181.event.EventPublisher;
import com.genersoft.iot.vmp.gb28181.event.subscribe.catalog.CatalogEvent;
@@ -26,6 +27,7 @@
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.*;
@@ -83,6 +85,9 @@
private GbStreamMapper gbStreamMapper;
@Autowired
+ private UserSetting userSetting;
+
+ @Autowired
private PlatformCatalogMapper catalogMapper;
@Autowired
@@ -110,11 +115,11 @@
if (CollectionUtils.isEmpty(deviceChannelList)) {
return false;
}
- List<DeviceChannel> allChannelInPlay = deviceChannelMapper.getAllChannelInPlay();
- Map<String,DeviceChannel> allChannelMapInPlay = new ConcurrentHashMap<>();
- if (allChannelInPlay.size() > 0) {
- for (DeviceChannel deviceChannel : allChannelInPlay) {
- allChannelMapInPlay.put(deviceChannel.getChannelId(), deviceChannel);
+ List<DeviceChannel> allChannels = deviceChannelMapper.queryAllChannels(deviceId);
+ Map<String,DeviceChannel> allChannelMap = new ConcurrentHashMap<>();
+ if (allChannels.size() > 0) {
+ for (DeviceChannel deviceChannel : allChannels) {
+ allChannelMap.put(deviceChannel.getChannelId(), deviceChannel);
}
}
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
@@ -122,17 +127,18 @@
List<DeviceChannel> channels = new ArrayList<>();
StringBuilder stringBuilder = new StringBuilder();
Map<String, Integer> subContMap = new HashMap<>();
- if (deviceChannelList.size() > 1) {
+ if (deviceChannelList.size() > 0) {
// 鏁版嵁鍘婚噸
Set<String> gbIdSet = new HashSet<>();
for (DeviceChannel deviceChannel : deviceChannelList) {
if (!gbIdSet.contains(deviceChannel.getChannelId())) {
gbIdSet.add(deviceChannel.getChannelId());
- if (allChannelMapInPlay.containsKey(deviceChannel.getChannelId())) {
- deviceChannel.setStreamId(allChannelMapInPlay.get(deviceChannel.getChannelId()).getStreamId());
+ if (allChannelMap.containsKey(deviceChannel.getChannelId())) {
+ deviceChannel.setStreamId(allChannelMap.get(deviceChannel.getChannelId()).getStreamId());
+ deviceChannel.setHasAudio(allChannelMap.get(deviceChannel.getChannelId()).isHasAudio());
}
channels.add(deviceChannel);
- if (!StringUtils.isEmpty(deviceChannel.getParentId())) {
+ if (!ObjectUtils.isEmpty(deviceChannel.getParentId())) {
if (subContMap.get(deviceChannel.getParentId()) == null) {
subContMap.put(deviceChannel.getParentId(), 1);
}else {
@@ -152,8 +158,6 @@
}
}
- }else {
- channels = deviceChannelList;
}
if (stringBuilder.length() > 0) {
logger.info("[鐩綍鏌ヨ]鏀跺埌鐨勬暟鎹瓨鍦ㄩ噸澶嶏細 {}" , stringBuilder);
@@ -296,79 +300,6 @@
}
/**
- * 鍒犻櫎璁惧
- *
- * @param deviceId 璁惧ID
- * @return true锛氬垹闄ゆ垚鍔� false锛氬垹闄ゅけ璐�
- */
- @Override
- public boolean delete(String deviceId) {
- TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
- boolean result = false;
- try {
- platformChannelMapper.delChannelForDeviceId(deviceId);
- deviceChannelMapper.cleanChannelsByDeviceId(deviceId);
- if ( deviceMapper.del(deviceId) < 0 ) {
- //浜嬪姟鍥炴粴
- dataSourceTransactionManager.rollback(transactionStatus);
- }
- result = true;
- dataSourceTransactionManager.commit(transactionStatus); //鎵嬪姩鎻愪氦
- }catch (Exception e) {
- dataSourceTransactionManager.rollback(transactionStatus);
- }
- return result;
- }
-
- /**
- * 鏇存柊璁惧鍦ㄧ嚎
- *
- * @param deviceId 璁惧ID
- * @return true锛氭洿鏂版垚鍔� false锛氭洿鏂板け璐�
- */
- @Override
- public synchronized boolean online(String deviceId) {
- Device device = deviceMapper.getDeviceByDeviceId(deviceId);
- if (device == null) {
- return false;
- }
- device.setOnline(1);
- logger.info("鏇存柊璁惧鍦ㄧ嚎: " + deviceId);
- redisCatchStorage.updateDevice(device);
- return deviceMapper.update(device) > 0;
- }
-
- /**
- * 鏇存柊璁惧绂荤嚎
- *
- * @param deviceId 璁惧ID
- * @return true锛氭洿鏂版垚鍔� false锛氭洿鏂板け璐�
- */
- @Override
- public synchronized boolean outline(String deviceId) {
- logger.info("鏇存柊璁惧绂荤嚎: " + deviceId);
- Device device = deviceMapper.getDeviceByDeviceId(deviceId);
- if (device == null) {
- return false;
- }
- device.setOnline(0);
- redisCatchStorage.updateDevice(device);
- return deviceMapper.update(device) > 0;
- }
-
- /**
- * 鏇存柊鎵�鏈夎澶囩绾�
- *
- * @return true锛氭洿鏂版垚鍔� false锛氭洿鏂板け璐�
- */
- @Override
- public synchronized boolean outlineForAll() {
- logger.info("鏇存柊鎵�鏈夎澶囩绾�");
- int result = deviceMapper.outlineForAll();
- return result > 0;
- }
-
- /**
* 娓呯┖閫氶亾
* @param deviceId
*/
@@ -443,20 +374,6 @@
// 鏇存柊缂撳瓨
parentPlatformCatch.setParentPlatform(parentPlatform);
redisCatchStorage.updatePlatformCatchInfo(parentPlatformCatch);
- if (parentPlatform.isEnable()) {
- // 鍏变韩鎵�鏈夎棰戞祦锛岄渶瑕佸皢鐜版湁瑙嗛娴佹坊鍔犲埌姝ゅ钩鍙�
- List<GbStream> gbStreams = gbStreamMapper.queryStreamNotInPlatform();
- if (gbStreams.size() > 0) {
- for (GbStream gbStream : gbStreams) {
- gbStream.setCatalogId(parentPlatform.getCatalogId());
- }
- if (parentPlatform.isShareAllLiveStream()) {
- gbStreamService.addPlatformInfo(gbStreams, parentPlatform.getServerGBId(), parentPlatform.getCatalogId());
- }else {
- gbStreamService.delPlatformInfo(parentPlatform.getServerGBId(), gbStreams);
- }
- }
- }
return result > 0;
}
@@ -468,13 +385,6 @@
// 鍒犻櫎鍏宠仈鐨勯�氶亾
platformChannelMapper.cleanChannelForGB(parentPlatform.getServerGBId());
return result > 0;
- }
-
- @Override
- public PageInfo<ParentPlatform> queryParentPlatformList(int page, int count) {
- PageHelper.startPage(page, count);
- List<ParentPlatform> all = platformMapper.getParentPlatformList();
- return new PageInfo<>(all);
}
@Override
@@ -635,7 +545,7 @@
*/
@Override
public List<DeviceChannel> queryGbStreamListInPlatform(String platformId) {
- return gbStreamMapper.queryGbStreamListInPlatform(platformId);
+ return gbStreamMapper.queryGbStreamListInPlatform(platformId, userSetting.isUsePushingAsStatus());
}
/**
@@ -650,62 +560,8 @@
}
@Override
- public void updateMediaList(List<StreamPushItem> streamPushItems) {
- if (streamPushItems == null || streamPushItems.size() == 0) {
- return;
- }
- logger.info("updateMediaList: " + streamPushItems.size());
- streamPushMapper.addAll(streamPushItems);
- // TODO 寰呬紭鍖�
- for (int i = 0; i < streamPushItems.size(); i++) {
- int onlineResult = mediaOnline(streamPushItems.get(i).getApp(), streamPushItems.get(i).getStream());
- if (onlineResult > 0) {
- // 鍙戦�佷笂绾块�氱煡
- eventPublisher.catalogEventPublishForStream(null, streamPushItems.get(i), CatalogEvent.ON);
- }
- }
- }
-
-
-
- @Override
- public void updateMedia(StreamPushItem streamPushItem) {
- streamPushMapper.del(streamPushItem.getApp(), streamPushItem.getStream());
- streamPushMapper.add(streamPushItem);
- mediaOffline(streamPushItem.getApp(), streamPushItem.getStream());
-
- if(!StringUtils.isEmpty(streamPushItem.getGbId() )){
- // 鏌ユ壘寮�鍚簡鍏ㄩ儴鐩存挱娴佸叡浜殑涓婄骇骞冲彴
- List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
- if (parentPlatforms.size() > 0) {
- for (ParentPlatform parentPlatform : parentPlatforms) {
- StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
- parentPlatform.getServerGBId());
- if (streamProxyItem == null) {
- streamPushItem.setCatalogId(parentPlatform.getCatalogId());
- streamPushItem.setPlatformId(parentPlatform.getServerGBId());
- platformGbStreamMapper.add(streamPushItem);
- eventPublisher.catalogEventPublishForStream(parentPlatform.getServerGBId(), streamPushItem, CatalogEvent.ADD);
- }
- }
- }
- }
-
- }
-
- @Override
public int removeMedia(String app, String stream) {
return streamPushMapper.del(app, stream);
- }
-
- @Override
- public StreamPushItem getMedia(String app, String stream) {
- return streamPushMapper.selectOne(app, stream);
- }
-
- @Override
- public void clearMediaList() {
- streamPushMapper.clear();
}
@Override
@@ -715,7 +571,7 @@
if ("proxy".equals(gbStream.getStreamType())) {
result = streamProxyMapper.updateStatus(app, stream, false);
}else {
- result = streamPushMapper.updateStatus(app, stream, false);
+ result = streamPushMapper.updatePushStatus(app, stream, false);
}
return result;
}
@@ -727,7 +583,7 @@
if ("proxy".equals(gbStream.getStreamType())) {
result = streamProxyMapper.updateStatus(app, stream, true);
}else {
- result = streamPushMapper.updateStatus(app, stream, true);
+ result = streamPushMapper.updatePushStatus(app, stream, true);
}
return result;
}
@@ -770,17 +626,22 @@
return 0;
}
if (platform.getTreeType().equals(TreeType.BUSINESS_GROUP)) {
- if (platformCatalog.getPlatformId().equals(platformCatalog.getParentId())) {
+ if (platform.getDeviceGBId().equals(platformCatalog.getParentId())) {
// 绗竴灞傝妭鐐�
platformCatalog.setBusinessGroupId(platformCatalog.getId());
+ platformCatalog.setParentId(platform.getDeviceGBId());
}else {
// 鑾峰彇椤跺眰鐨�
- PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platformCatalog.getPlatformId());
+ PlatformCatalog topCatalog = getTopCatalog(platformCatalog.getParentId(), platform.getDeviceGBId());
platformCatalog.setBusinessGroupId(topCatalog.getId());
}
}
if (platform.getTreeType().equals(TreeType.CIVIL_CODE)) {
platformCatalog.setCivilCode(platformCatalog.getId());
+ if (platformCatalog.getPlatformId().equals(platformCatalog.getParentId())) {
+ // 绗竴灞傝妭鐐�
+ platformCatalog.setParentId(platform.getDeviceGBId());
+ }
}
int result = catalogMapper.add(platformCatalog);
--
Gitblit v1.8.0