From e94b99d11c46246532edc93cd25cbf8c0b88f03f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期日, 27 二月 2022 20:01:31 +0800
Subject: [PATCH] 实现国标录像级联播放,优化点播流程,加快点播速度

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
index 5b7ba1c..c884495 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
@@ -105,7 +105,7 @@
         updateMedia(mediaServerItem, app, streamId);
     }
 
-    public void addPush(MediaItem mediaItem) {
+    public StreamPushItem addPush(MediaItem mediaItem) {
         // 鏌ユ壘姝ょ洿鎾祦鏄惁瀛樺湪redis棰勮gbId
         StreamPushItem transform = streamPushService.transform(mediaItem);
         // 浠巗treamId鍙栧嚭鏌ヨ鍏抽敭鍊�
@@ -122,7 +122,6 @@
                 transform.setName(thirdPartyGB.getName());
             }
         }
-        storager.updateMedia(transform);
         if (!StringUtils.isEmpty(transform.getGbId())) {
             // 濡傛灉杩欎釜鍥芥爣ID宸茬粡缁欎簡鍏朵粬鎺ㄦ祦涓旀祦宸茬绾匡紝鍒欑Щ闄ゅ叾浠栨帹娴�
             List<GbStream> gbStreams = gbStreamMapper.selectByGBId(transform.getGbId());
@@ -130,18 +129,22 @@
                 for (GbStream gbStream : gbStreams) {
                     // 鍑虹幇浣跨敤鐩稿悓鍥芥爣Id鐨勮棰戞祦鏃讹紝浣跨敤鏂版祦鏇挎崲鏃ф祦锛�
                     gbStreamMapper.del(gbStream.getApp(), gbStream.getStream());
-                    platformGbStreamMapper.delByAppAndStream(gbStream.getApp(), gbStream.getStream());
                     if (!gbStream.isStatus()) {
                         streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
                     }
                 }
             }
-            if (gbStreamMapper.selectOne(transform.getApp(), transform.getStream()) != null) {
+            StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream());
+            if (streamProxyItem != null) {
+                transform.setGbStreamId(streamProxyItem.getGbStreamId());
                 gbStreamMapper.update(transform);
             }else {
+                transform.setCreateStamp(System.currentTimeMillis());
                 gbStreamMapper.add(transform);
             }
         }
+        storager.updateMedia(transform);
+        return transform;
     }
 
 

--
Gitblit v1.8.0