From 41d9c347bf648a49fc11fbd4c451298f164230ec Mon Sep 17 00:00:00 2001
From: tonyjianhua <575414312@qq.com>
Date: 星期三, 19 七月 2023 13:33:53 +0800
Subject: [PATCH] 优化拉流代理保存

---
 src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java |   42 ++++++++++++++++++++++--------------------
 1 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
index a1c5b1c..d699bbc 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -161,25 +161,24 @@
             return;
         }
 
-        String talkKey = UUID.randomUUID().toString();
-        dynamicTask.startCron(talkKey, ()->{
-            StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(param.getApp(), param.getStream(), mediaInfo.getId(), false);
-            if (streamInfo != null) {
-                callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo);
-            }
-        }, 1000);
-        String delayTalkKey = UUID.randomUUID().toString();
-        dynamicTask.startDelay(delayTalkKey, ()->{
-            StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(param.getApp(), param.getStream(), mediaInfo.getId(), false);
-            if (streamInfo != null) {
-                callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo);
-            }else {
-                dynamicTask.stop(talkKey);
-                callback.run(ErrorCode.ERROR100.getCode(), "瓒呮椂", null);
-            }
-        }, 5000);
-
         if (param.isEnable()) {
+            String talkKey = UUID.randomUUID().toString();
+            dynamicTask.startCron(talkKey, ()->{
+                StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(param.getApp(), param.getStream(), mediaInfo.getId(), false);
+                if (streamInfo != null) {
+                    callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo);
+                }
+            }, 1000);
+            String delayTalkKey = UUID.randomUUID().toString();
+            dynamicTask.startDelay(delayTalkKey, ()->{
+                StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(param.getApp(), param.getStream(), mediaInfo.getId(), false);
+                if (streamInfo != null) {
+                    callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo);
+                }else {
+                    dynamicTask.stop(talkKey);
+                    callback.run(ErrorCode.ERROR100.getCode(), "瓒呮椂", null);
+                }
+            }, 5000);
             JSONObject jsonObject = addStreamProxyToZlm(param);
             if (jsonObject != null && jsonObject.getInteger("code") == 0) {
                 dynamicTask.stop(talkKey);
@@ -196,13 +195,16 @@
                 }
                 if (jsonObject == null){
                     callback.run(ErrorCode.ERROR100.getCode(), "璁板綍宸蹭繚瀛橈紝鍚敤澶辫触", null);
-                    return;
                 }else {
                     callback.run(ErrorCode.ERROR100.getCode(), jsonObject.getString("msg"), null);
-                    return;
                 }
             }
         }
+        else{
+            StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream(
+                    mediaInfo, param.getApp(), param.getStream(), null, null);
+            callback.run(ErrorCode.SUCCESS.getCode(), ErrorCode.SUCCESS.getMsg(), streamInfo);
+        }
     }
 
     private String getSchemaFromFFmpegCmd(String ffmpegCmd) {

--
Gitblit v1.8.0