|
|
@@ -233,6 +233,15 @@ public class PlayServiceImpl implements IPlayService {
|
|
|
HookSubscribeForStreamChange hookSubscribe = HookSubscribeFactory.on_stream_changed("rtp", ssrcInfo.getStream(), true, "rtsp", mediaServerItem.getId());
|
|
|
subscribe.removeSubscribe(hookSubscribe);
|
|
|
}
|
|
|
+ }else {
|
|
|
+ logger.info("[点播超时] 收流超时 deviceId: {}, channelId: {},码流类型:{},端口:{}, SSRC: {}",
|
|
|
+ device.getDeviceId(), channelId, device.isSwitchPrimarySubStream() ? "辅码流" : "主码流",
|
|
|
+ ssrcInfo.getPort(), ssrcInfo.getSsrc());
|
|
|
+
|
|
|
+ mediaServerService.releaseSsrc(mediaServerItem.getId(), ssrcInfo.getSsrc());
|
|
|
+
|
|
|
+ mediaServerService.closeRTPServer(mediaServerItem.getId(), ssrcInfo.getStream());
|
|
|
+ streamSession.remove(device.getDeviceId(), channelId, ssrcInfo.getStream());
|
|
|
}
|
|
|
}, userSetting.getPlayTimeout());
|
|
|
|
|
|
@@ -263,6 +272,7 @@ public class PlayServiceImpl implements IPlayService {
|
|
|
InviteOKHandler(eventResult, ssrcInfo, mediaServerItem, device, channelId,
|
|
|
timeOutTaskKey, callback, inviteInfo, InviteSessionType.PLAY);
|
|
|
}, (event) -> {
|
|
|
+ logger.info("[点播失败] deviceId: {}, channelId:{}, {}: {}", device.getDeviceId(), channelId, event.statusCode, event.msg);
|
|
|
dynamicTask.stop(timeOutTaskKey);
|
|
|
mediaServerService.closeRTPServer(mediaServerItem, ssrcInfo.getStream());
|
|
|
// 释放ssrc
|