From a01d4fa74e178f7d17c7f123879a1e125370a93d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 07 八月 2024 10:49:35 +0800
Subject: [PATCH] 修复前端文件编译错误
---
src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++---------
1 files changed, 34 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java
index 014c761..b34a1b7 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java
@@ -6,8 +6,9 @@
import com.genersoft.iot.vmp.common.InviteSessionStatus;
import com.genersoft.iot.vmp.common.InviteSessionType;
import com.genersoft.iot.vmp.common.VideoManagerConstants;
-import com.genersoft.iot.vmp.media.event.MediaArrivalEvent;
-import com.genersoft.iot.vmp.media.event.MediaDepartureEvent;
+import com.genersoft.iot.vmp.conf.UserSetting;
+import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
+import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
import com.genersoft.iot.vmp.service.IInviteStreamService;
import com.genersoft.iot.vmp.service.bean.ErrorCallback;
import com.genersoft.iot.vmp.storager.IVideoManagerStorage;
@@ -24,6 +25,7 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.TimeUnit;
@Service
@DS("master")
@@ -39,15 +41,18 @@
@Autowired
private IVideoManagerStorage storage;
+ @Autowired
+ private UserSetting userSetting;
+
/**
* 娴佸埌鏉ョ殑澶勭悊
*/
@Async("taskExecutor")
@org.springframework.context.event.EventListener
public void onApplicationEvent(MediaArrivalEvent event) {
- if ("rtsp".equals(event.getSchema()) && "rtp".equals(event.getApp())) {
-
- }
+// if ("rtsp".equals(event.getSchema()) && "rtp".equals(event.getApp())) {
+//
+// }
}
/**
@@ -60,13 +65,21 @@
InviteInfo inviteInfo = getInviteInfoByStream(null, event.getStream());
if (inviteInfo != null && (inviteInfo.getType() == InviteSessionType.PLAY || inviteInfo.getType() == InviteSessionType.PLAYBACK)) {
removeInviteInfo(inviteInfo);
- stopPlay(inviteInfo.getDeviceId(), inviteInfo.getChannelId());
+ storage.stopPlay(inviteInfo.getDeviceId(), inviteInfo.getChannelId());
}
+ }
+ }
+ @Override
+ public void updateInviteInfo(InviteInfo inviteInfo) {
+ if (InviteSessionStatus.ready == inviteInfo.getStatus()) {
+ updateInviteInfo(inviteInfo, Long.valueOf(userSetting.getPlayTimeout()) * 2);
+ }else {
+ updateInviteInfo(inviteInfo, null);
}
}
@Override
- public void updateInviteInfo(InviteInfo inviteInfo) {
+ public void updateInviteInfo(InviteInfo inviteInfo, Long time) {
if (inviteInfo == null || (inviteInfo.getDeviceId() == null || inviteInfo.getChannelId() == null)) {
logger.warn("[鏇存柊Invite淇℃伅]锛屽弬鏁颁笉鍏細 {}", JSON.toJSON(inviteInfo));
return;
@@ -118,7 +131,11 @@
":" + inviteInfoForUpdate.getChannelId() +
":" + inviteInfoForUpdate.getStream()+
":" + inviteInfoForUpdate.getSsrcInfo().getSsrc();
- redisTemplate.opsForValue().set(key, inviteInfoForUpdate);
+ if (time != null && time > 0) {
+ redisTemplate.opsForValue().set(key, inviteInfoForUpdate, time, TimeUnit.SECONDS);
+ }else {
+ redisTemplate.opsForValue().set(key, inviteInfoForUpdate);
+ }
}
@Override
@@ -139,7 +156,12 @@
if (inviteInfoInDb.getSsrcInfo() != null) {
inviteInfoInDb.getSsrcInfo().setStream(stream);
}
- redisTemplate.opsForValue().set(key, inviteInfoInDb);
+ if (InviteSessionStatus.ready == inviteInfo.getStatus()) {
+ redisTemplate.opsForValue().set(key, inviteInfoInDb, userSetting.getPlayTimeout() * 2, TimeUnit.SECONDS);
+ }else {
+ redisTemplate.opsForValue().set(key, inviteInfoInDb);
+ }
+
return inviteInfoInDb;
}
@@ -243,6 +265,9 @@
String keyStr = (String) keyObj;
InviteInfo inviteInfo = (InviteInfo) redisTemplate.opsForValue().get(keyStr);
if (inviteInfo != null && inviteInfo.getStreamInfo() != null && inviteInfo.getStreamInfo().getMediaServerId().equals(mediaServerId)) {
+ if (inviteInfo.getType().equals(InviteSessionType.DOWNLOAD) && inviteInfo.getStreamInfo().getProgress() == 1) {
+ continue;
+ }
count++;
}
}
--
Gitblit v1.8.0