Commit 8c2b1ef4feae876bf714c07dd73c3821268666bf

Authored by 648540858
1 parent 943f95ba

修复拉流代理 下线时状态未更改为下线 #770

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMHttpHookListener.java
@@ -256,6 +256,7 @@ public class ZLMHttpHookListener { @@ -256,6 +256,7 @@ public class ZLMHttpHookListener {
256 return result; 256 return result;
257 } 257 }
258 258
  259 +
259 /** 260 /**
260 * rtsp/rtmp流注册或注销时触发此事件;此事件对回复不敏感。 261 * rtsp/rtmp流注册或注销时触发此事件;此事件对回复不敏感。
261 */ 262 */
@@ -279,9 +280,12 @@ public class ZLMHttpHookListener { @@ -279,9 +280,12 @@ public class ZLMHttpHookListener {
279 subscribe.response(mediaInfo, json); 280 subscribe.response(mediaInfo, json);
280 } 281 }
281 } 282 }
282 - // 流消失移除redis play 283 +
283 List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks(); 284 List<OnStreamChangedHookParam.MediaTrack> tracks = param.getTracks();
  285 + // TODO 重构此处逻辑
  286 +
284 if (param.isRegist()) { 287 if (param.isRegist()) {
  288 + // 处理流注册的鉴权信息
285 if (param.getOriginType() == OriginType.RTMP_PUSH.ordinal() 289 if (param.getOriginType() == OriginType.RTMP_PUSH.ordinal()
286 || param.getOriginType() == OriginType.RTSP_PUSH.ordinal() 290 || param.getOriginType() == OriginType.RTSP_PUSH.ordinal()
287 || param.getOriginType() == OriginType.RTC_PUSH.ordinal()) { 291 || param.getOriginType() == OriginType.RTC_PUSH.ordinal()) {
@@ -300,16 +304,15 @@ public class ZLMHttpHookListener { @@ -300,16 +304,15 @@ public class ZLMHttpHookListener {
300 } 304 }
301 305
302 if ("rtsp".equals(param.getSchema())) { 306 if ("rtsp".equals(param.getSchema())) {
  307 + // 更新流媒体负载信息
303 if (param.isRegist()) { 308 if (param.isRegist()) {
304 mediaServerService.addCount(param.getMediaServerId()); 309 mediaServerService.addCount(param.getMediaServerId());
305 } else { 310 } else {
306 mediaServerService.removeCount(param.getMediaServerId()); 311 mediaServerService.removeCount(param.getMediaServerId());
307 } 312 }
308 - if (param.getOriginType() == OriginType.PULL.ordinal()  
309 - || param.getOriginType() == OriginType.FFMPEG_PULL.ordinal()) {  
310 - // 设置拉流代理上线/离线  
311 - streamProxyService.updateStatus(param.isRegist(), param.getApp(), param.getStream());  
312 - } 313 + // 设置拉流代理上线/离线
  314 + streamProxyService.updateStatus(param.isRegist(), param.getApp(), param.getStream());
  315 +
313 if ("rtp".equals(param.getApp()) && !param.isRegist()) { 316 if ("rtp".equals(param.getApp()) && !param.isRegist()) {
314 StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(param.getStream()); 317 StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(param.getStream());
315 if (streamInfo != null) { 318 if (streamInfo != null) {