From 713aa00acc398e44cb2a59e4f5c3f55b4e0784d8 Mon Sep 17 00:00:00 2001 From: xiaoQQya <xiaoQQya@126.com> Date: 星期三, 22 三月 2023 15:21:22 +0800 Subject: [PATCH] perf(snap): 优化点播成功后截图使用 rtsp 流, 新增对 H265 编码视频截图的支持 --- src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java | 18 +++++++----------- 1 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java index 69529b0..efa4d42 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java @@ -7,7 +7,10 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import javax.sip.*; +import javax.sip.DialogTerminatedEvent; +import javax.sip.ResponseEvent; +import javax.sip.TimeoutEvent; +import javax.sip.TransactionTerminatedEvent; import javax.sip.header.CallIdHeader; import javax.sip.message.Response; import java.time.Instant; @@ -28,6 +31,7 @@ private Map<String, SipSubscribe.Event> okSubscribes = new ConcurrentHashMap<>(); private Map<String, Instant> okTimeSubscribes = new ConcurrentHashMap<>(); + private Map<String, Instant> errorTimeSubscribes = new ConcurrentHashMap<>(); // @Scheduled(cron="*/5 * * * * ?") //姣忎簲绉掓墽琛屼竴娆� @@ -56,8 +60,7 @@ logger.debug("errorSubscribes.size:{}",errorSubscribes.size()); } - public interface Event { - void response(EventResult eventResult); + public interface Event { void response(EventResult eventResult) ; } /** @@ -81,18 +84,13 @@ public EventResultType type; public String msg; public String callId; - public Dialog dialog; public EventObject event; - - public EventResult() { - } public EventResult(EventObject event) { this.event = event; if (event instanceof ResponseEvent) { ResponseEvent responseEvent = (ResponseEvent)event; Response response = responseEvent.getResponse(); - this.dialog = responseEvent.getDialog(); this.type = EventResultType.response; if (response != null) { this.msg = response.getReasonPhrase(); @@ -127,12 +125,10 @@ this.statusCode = -1024; this.callId = dialogTerminatedEvent.getDialog().getCallId().getCallId(); }else if (event instanceof DeviceNotFoundEvent) { - DeviceNotFoundEvent deviceNotFoundEvent = (DeviceNotFoundEvent)event; this.type = EventResultType.deviceNotFoundEvent; this.msg = "璁惧鏈壘鍒�"; this.statusCode = -1024; - this.dialog = deviceNotFoundEvent.getDialog(); - this.callId = this.dialog != null ?deviceNotFoundEvent.getDialog().getCallId().getCallId() : null; + this.callId = ((DeviceNotFoundEvent) event).getCallId(); } } } -- Gitblit v1.8.0