From baeffa4311622a8f087fd20b5fe47ed9d6fccf41 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期六, 10 八月 2024 20:59:52 +0800
Subject: [PATCH] Merge pull request #1559 from koisi-io/fix

---
 src/main/java/com/genersoft/iot/vmp/service/impl/InviteStreamServiceImpl.java |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 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 e5847f6..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,6 +6,7 @@
 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.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;
@@ -40,6 +41,9 @@
     @Autowired
     private IVideoManagerStorage storage;
 
+    @Autowired
+    private UserSetting userSetting;
+
     /**
      * 娴佸埌鏉ョ殑澶勭悊
      */
@@ -67,7 +71,11 @@
     }
     @Override
     public void updateInviteInfo(InviteInfo inviteInfo) {
-        updateInviteInfo(inviteInfo, null);
+        if (InviteSessionStatus.ready == inviteInfo.getStatus()) {
+            updateInviteInfo(inviteInfo, Long.valueOf(userSetting.getPlayTimeout()) * 2);
+        }else {
+            updateInviteInfo(inviteInfo, null);
+        }
     }
 
     @Override
@@ -148,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;
     }
 

--
Gitblit v1.8.0