From f1c7d612ca0e9dc9a7b0a7aebc0be17365883d3f Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 08 九月 2022 09:19:57 +0800
Subject: [PATCH] Merge pull request #590 from ixingqiao/wvp-28181-2.0
---
src/main/java/com/genersoft/iot/vmp/service/impl/RedisGbPlayMsgListener.java | 34 +++++++++++++---------------------
1 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisGbPlayMsgListener.java b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisGbPlayMsgListener.java
index 638ea41..ff82cd7 100644
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/RedisGbPlayMsgListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/RedisGbPlayMsgListener.java
@@ -5,9 +5,11 @@
import com.genersoft.iot.vmp.conf.DynamicTask;
import com.genersoft.iot.vmp.conf.UserSetting;
import com.genersoft.iot.vmp.gb28181.bean.SendRtpItem;
-import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
+import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe;
import com.genersoft.iot.vmp.media.zlm.ZLMMediaListManager;
import com.genersoft.iot.vmp.media.zlm.ZLMRTPServerFactory;
+import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeFactory;
+import com.genersoft.iot.vmp.media.zlm.dto.HookSubscribeForStreamChange;
import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem;
import com.genersoft.iot.vmp.service.IMediaServerService;
import com.genersoft.iot.vmp.service.bean.*;
@@ -21,9 +23,6 @@
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.stereotype.Component;
-import javax.sip.InvalidArgumentException;
-import javax.sip.SipException;
-import java.text.ParseException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@@ -63,8 +62,6 @@
@Autowired
private UserSetting userSetting;
- @Autowired
- private RedisUtil redis;
@Autowired
private ZLMMediaListManager zlmMediaListManager;
@@ -85,7 +82,7 @@
private ZLMMediaListManager mediaListManager;
@Autowired
- private ZLMHttpHookSubscribe subscribe;
+ private ZlmHttpHookSubscribe subscribe;
public interface PlayMsgCallback{
@@ -224,7 +221,7 @@
WvpRedisMsg response = WvpRedisMsg.getResponseInstance(userSetting.getServerId(), toId,
WvpRedisMsgCmd.REQUEST_PUSH_STREAM, serial, result);
JSONObject jsonObject = (JSONObject)JSON.toJSON(response);
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
}
/**
@@ -243,7 +240,7 @@
WvpRedisMsgCmd.GET_SEND_ITEM, serial, result);
JSONObject jsonObject = (JSONObject)JSON.toJSON(response);
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
return;
}
// 纭畾娴佹槸鍚﹀湪绾�
@@ -266,18 +263,13 @@
userSetting.getServerId(), toId, WvpRedisMsgCmd.GET_SEND_ITEM, serial, result
);
JSONObject jsonObject = (JSONObject)JSON.toJSON(response);
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
}, userSetting.getPlatformPlayTimeout());
// 娣诲姞璁㈤槄
- JSONObject subscribeKey = new JSONObject();
- subscribeKey.put("app", content.getApp());
- subscribeKey.put("stream", content.getStream());
- subscribeKey.put("regist", true);
- subscribeKey.put("schema", "rtmp");
- subscribeKey.put("mediaServerId", mediaServerItem.getId());
- subscribe.addSubscribe(ZLMHttpHookSubscribe.HookType.on_stream_changed, subscribeKey,
- (MediaServerItem mediaServerItemInUse, JSONObject json)->{
+ HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed(content.getApp(), content.getStream(), true, "rtsp", mediaServerItem.getId());
+
+ subscribe.addSubscribe(hookSubscribe, (MediaServerItem mediaServerItemInUse, JSONObject json)->{
dynamicTask.stop(taskKey);
responseSendItem(mediaServerItem, content, toId, serial);
});
@@ -310,7 +302,7 @@
userSetting.getServerId(), toId, WvpRedisMsgCmd.GET_SEND_ITEM, serial, result
);
JSONObject jsonObject = (JSONObject)JSON.toJSON(response);
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
}
/**
@@ -347,7 +339,7 @@
wvpResult.setMsg("timeout");
errorCallback.handler(wvpResult);
}, userSetting.getPlatformPlayTimeout());
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
}
/**
@@ -372,6 +364,6 @@
callbacksForStartSendRtpStream.remove(key);
callbacksForError.remove(key);
});
- redis.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
+ RedisUtil.convertAndSend(WVP_PUSH_STREAM_KEY, jsonObject);
}
}
--
Gitblit v1.8.0