From c88681c7ad06391fa8cce0b910f45cf4f479889d Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 07 八月 2024 10:41:54 +0800
Subject: [PATCH] 合并分支

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java       |   15 +++++++++++++++
 src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java |   14 ++++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java b/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java
index 2f51a3e..8273bf9 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/event/media/MediaArrivalEvent.java
@@ -5,6 +5,8 @@
 import com.genersoft.iot.vmp.media.zlm.dto.hook.OnStreamChangedHookParam;
 import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
 
+import java.util.Map;
+
 /**
  * 娴佸埌鏉ヤ簨浠�
  */
@@ -22,6 +24,7 @@
         mediaArrivalEvent.setSchema(hookParam.getSchema());
         mediaArrivalEvent.setSchema(hookParam.getSchema());
         mediaArrivalEvent.setHookParam(hookParam);
+        mediaArrivalEvent.setParamMap(hookParam.getParamMap());
         return mediaArrivalEvent;
     }
 
@@ -32,6 +35,8 @@
     private OnStreamChangedHookParam hookParam;
 
     private StreamContent streamInfo;
+
+    private Map<String, String> paramMap;
 
     public MediaInfo getMediaInfo() {
         return mediaInfo;
@@ -65,4 +70,13 @@
     public void setStreamInfo(StreamContent streamInfo) {
         this.streamInfo = streamInfo;
     }
+
+
+    public Map<String, String> getParamMap() {
+        return paramMap;
+    }
+
+    public void setParamMap(Map<String, String> paramMap) {
+        this.paramMap = paramMap;
+    }
 }
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
index 636b4bf..5698238 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -36,6 +36,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -218,6 +221,18 @@
         if (param.getSchema().equalsIgnoreCase("rtsp")) {
             if (param.isRegist()) {
                 logger.info("[ZLM HOOK] 娴佹敞鍐�, {}->{}->{}/{}", param.getMediaServerId(), param.getSchema(), param.getApp(), param.getStream());
+                String queryParams = param.getParams();
+                if (queryParams == null) {
+                    try {
+                        URL url = new URL("http" + param.getOriginUrl().substring(4));
+                        queryParams = url.getQuery();
+                    }catch (MalformedURLException ignored) {}
+                }
+                if (queryParams != null) {
+                    param.setParamMap(MediaServerUtils.urlParamToMap(queryParams));
+                }else {
+                    param.setParamMap(new HashMap<>());
+                }
                 MediaArrivalEvent mediaArrivalEvent = MediaArrivalEvent.getInstance(this, param, mediaServer);
                 applicationEventPublisher.publishEvent(mediaArrivalEvent);
             } else {

--
Gitblit v1.8.0