From bfcb4d23351c5eb8db753ed8670a0d16601c1992 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 13 一月 2022 16:39:32 +0800
Subject: [PATCH] 合并主分支

---
 src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java |   26 +++++++-------------------
 1 files changed, 7 insertions(+), 19 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 8c1239e..c1f473d 100644
--- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -4,7 +4,6 @@
 import java.util.UUID;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
 import com.genersoft.iot.vmp.common.StreamInfo;
 import com.genersoft.iot.vmp.conf.MediaConfig;
 import com.genersoft.iot.vmp.conf.UserSetup;
@@ -302,7 +301,7 @@
 	@ResponseBody
 	@PostMapping(value = "/on_stream_changed", produces = "application/json;charset=UTF-8")
 	public ResponseEntity<String> onStreamChanged(@RequestBody MediaItem item){
-		
+
 		if (logger.isDebugEnabled()) {
 			logger.debug("[ ZLM HOOK ]on_stream_changed API璋冪敤锛屽弬鏁帮細" + JSONObject.toJSONString(item));
 		}
@@ -322,10 +321,8 @@
 		String schema = item.getSchema();
 		List<MediaItem.MediaTrack> tracks = item.getTracks();
 		boolean regist = item.isRegist();
-		if (tracks != null) {
-			logger.info("[stream: " + streamId + "] on_stream_changed->>" + schema);
-		}
 		if ("rtmp".equals(schema)){
+			logger.info("on_stream_changed锛氭敞鍐�->{}, app->{}, stream->{}", regist, app, streamId);
 			if (regist) {
 				mediaServerService.addCount(mediaServerId);
 			}else {
@@ -346,24 +343,16 @@
 					MediaServerItem mediaServerItem = mediaServerService.getOne(mediaServerId);
 					if (mediaServerItem != null){
 						if (regist) {
-							StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream(mediaServerItem, app, streamId, tracks);
-							redisCatchStorage.addStream(mediaServerItem, type, app, streamId, streamInfo);
+							redisCatchStorage.addStream(mediaServerItem, type, app, streamId, item);
 							if (item.getOriginType() == OriginType.RTSP_PUSH.ordinal()
 									|| item.getOriginType() == OriginType.RTMP_PUSH.ordinal()
 									|| item.getOriginType() == OriginType.RTC_PUSH.ordinal() ) {
 								zlmMediaListManager.addPush(item);
 							}
 						}else {
-							// 鍏煎娴佹敞閿�鏃剁被鍨嬮敊璇殑闂锛岀瓑zlm鏇存柊鍚庡垹闄�
-							StreamPushItem streamPushItem = streamPushService.getPush(app, streamId);
-							if (streamPushItem != null) {
-								type = "PUSH";
-							}else {
-								StreamProxyItem streamProxyByAppAndStream = streamProxyService.getStreamProxyByAppAndStream(app, streamId);
-								if (streamProxyByAppAndStream != null) {
-									type = "PULL";
-								}
-							}
+							// 鍏煎娴佹敞閿�鏃剁被鍨嬩粠redis璁板綍鑾峰彇
+							MediaItem mediaItem = redisCatchStorage.getStreamInfo(app, streamId, mediaServerId);
+							type = OriginType.values()[mediaItem.getOriginType()].getType();
 							zlmMediaListManager.removeMedia(app, streamId);
 							redisCatchStorage.removeStream(mediaServerItem.getId(), type, app, streamId);
 						}
@@ -444,7 +433,6 @@
 			}
 			return new ResponseEntity<String>(ret.toString(),HttpStatus.OK);
 		}
-
 	}
 	
 	/**
@@ -467,7 +455,7 @@
 				if (s.length == 2) {
 					String deviceId = s[0];
 					String channelId = s[1];
-					Device device = storager.queryVideoDevice(deviceId);
+					Device device = redisCatchStorage.getDevice(deviceId);
 					if (device != null) {
 						UUID uuid = UUID.randomUUID();
 						SSRCInfo ssrcInfo;

--
Gitblit v1.8.0