From 1efabbe4cc672fcf2ce589bdad1bce66c897a225 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期五, 24 五月 2024 10:50:29 +0800
Subject: [PATCH] 支持把推流的额外参数加入redis缓存

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java               |   11 ++++-------
 src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java |   28 ++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 7 deletions(-)

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 b639048..63239b7 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
@@ -457,15 +457,12 @@
                     if (!"rtp".equals(param.getApp())) {
                         String type = OriginType.values()[param.getOriginType()].getType();
                         if (param.isRegist()) {
-                            StreamAuthorityInfo streamAuthorityInfo = redisCatchStorage.getStreamAuthorityInfo(
-                                    param.getApp(), param.getStream());
-                            String callId = null;
-                            if (streamAuthorityInfo != null) {
-                                callId = streamAuthorityInfo.getCallId();
-                            }
+                            Map<String, String> params = MediaServerUtils.urlParamToMap(param.getParams());
+                            param.setParamMap(params);
                             StreamInfo streamInfoByAppAndStream = mediaService.getStreamInfoByAppAndStream(mediaInfo,
-                                    param.getApp(), param.getStream(), tracks, callId);
+                                    param.getApp(), param.getStream(), tracks, params.get("callId"));
                             param.setStreamInfo(new StreamContent(streamInfoByAppAndStream));
+
                             redisCatchStorage.addStream(mediaInfo, type, param.getApp(), param.getStream(), param);
                             if (param.getOriginType() == OriginType.RTSP_PUSH.ordinal()
                                     || param.getOriginType() == OriginType.RTMP_PUSH.ordinal()
diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java
index ffca0d5..84d2f4b 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/dto/hook/OnStreamChangedHookParam.java
@@ -3,6 +3,7 @@
 import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author lin
@@ -97,6 +98,16 @@
      * 闊宠棰戣建閬�
      */
     private String vhost;
+
+    /**
+     * 棰濆鐨勫弬鏁板瓧绗︿覆
+     */
+    private String params;
+
+    /**
+     * 棰濆鐨勫弬鏁�
+     */
+    private Map<String, String> paramMap;
 
     public boolean isRegist() {
         return regist;
@@ -496,6 +507,23 @@
         this.callId = callId;
     }
 
+
+    public Map<String, String> getParamMap() {
+        return paramMap;
+    }
+
+    public void setParamMap(Map<String, String> paramMap) {
+        this.paramMap = paramMap;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+
     @Override
     public String toString() {
         return "OnStreamChangedHookParam{" +

--
Gitblit v1.8.0