From ce950dea4aef933a12e78e4fe1f535ba9a83c3df Mon Sep 17 00:00:00 2001
From: leesam <leesam@leesam.cn>
Date: 星期三, 10 四月 2024 22:18:40 +0800
Subject: [PATCH] Merge branch 'refs/heads/master' into develop-add-api-key

---
 src/main/java/com/genersoft/iot/vmp/media/event/hook/HookSubscribe.java |   26 ++++++++++++--------------
 1 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/media/event/hook/HookSubscribe.java b/src/main/java/com/genersoft/iot/vmp/media/event/hook/HookSubscribe.java
index 598178f..907e904 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/event/hook/HookSubscribe.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/event/hook/HookSubscribe.java
@@ -1,9 +1,6 @@
 package com.genersoft.iot.vmp.media.event.hook;
 
-import com.genersoft.iot.vmp.media.event.media.MediaArrivalEvent;
-import com.genersoft.iot.vmp.media.event.media.MediaDepartureEvent;
-import com.genersoft.iot.vmp.media.event.media.MediaEvent;
-import com.genersoft.iot.vmp.media.event.media.MediaPublishEvent;
+import com.genersoft.iot.vmp.media.event.media.*;
 import org.springframework.context.event.EventListener;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -22,7 +19,7 @@
     /**
      * 璁㈤槄鏁版嵁杩囨湡鏃堕棿
      */
-    private final long subscribeExpire = 5 * 1000;
+    private final long subscribeExpire = 5 * 60 * 1000;
 
     @FunctionalInterface
     public interface Event{
@@ -35,11 +32,7 @@
     @Async("taskExecutor")
     @EventListener
     public void onApplicationEvent(MediaArrivalEvent event) {
-        if ("rtsp".equals(event.getSchema())) {
-            System.out.println("娴佸埌鏉ョ殑澶勭悊: " + allSubscribes.size());
-            for (String s : allSubscribes.keySet()) {
-                System.out.println("key: " + s);
-            }
+        if (event.getSchema() == null || "rtsp".equals(event.getSchema())) {
             sendNotify(HookType.on_media_arrival, event);
         }
 
@@ -51,7 +44,7 @@
     @Async("taskExecutor")
     @EventListener
     public void onApplicationEvent(MediaDepartureEvent event) {
-        if ("rtsp".equals(event.getSchema())) {
+        if (event.getSchema() == null || "rtsp".equals(event.getSchema())) {
             sendNotify(HookType.on_media_departure, event);
         }
 
@@ -64,13 +57,20 @@
     public void onApplicationEvent(MediaPublishEvent event) {
         sendNotify(HookType.on_publish, event);
     }
+    /**
+     * 鎺ㄦ祦閴存潈浜嬩欢
+     */
+    @Async("taskExecutor")
+    @EventListener
+    public void onApplicationEvent(MediaRecordMp4Event event) {
+        sendNotify(HookType.on_record_mp4, event);
+    }
 
     private final Map<String, Event> allSubscribes = new ConcurrentHashMap<>();
     private final Map<String, Hook> allHook = new ConcurrentHashMap<>();
 
     private void sendNotify(HookType hookType, MediaEvent event) {
         Hook paramHook = Hook.getInstance(hookType, event.getApp(), event.getStream(), event.getMediaServer().getId());
-        System.out.println("sendNotify: " + paramHook.toString());
         Event hookSubscribeEvent = allSubscribes.get(paramHook.toString());
         if (hookSubscribeEvent != null) {
             HookData data = HookData.getInstance(event);
@@ -87,7 +87,6 @@
     }
 
     public void removeSubscribe(Hook hook) {
-        System.out.println("removeSubscribe: " + hook.toString());
         allSubscribes.remove(hook.toString());
         allHook.remove(hook.toString());
     }
@@ -100,7 +99,6 @@
         long expireTime = System.currentTimeMillis() - subscribeExpire;
         for (Hook hook : allHook.values()) {
             if (hook.getCreateTime() < expireTime) {
-                System.out.println("execute removeSubscribe: " + hook.toString());
                 allSubscribes.remove(hook.toString());
                 allHook.remove(hook.toString());
             }

--
Gitblit v1.8.0