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