调整
This commit is contained in:
parent
b2d6a5fe4c
commit
da98ec41c3
@ -582,8 +582,13 @@ public class Gb28181DownloadService {
|
|||||||
if(time <= 0) {
|
if(time <= 0) {
|
||||||
String callId = request.getCallId().getCallId();
|
String callId = request.getCallId().getCallId();
|
||||||
String infoKey = CacheUtil.getKey(MediaSdpHelper.Action.PLAY.getAction(), callId);
|
String infoKey = CacheUtil.getKey(MediaSdpHelper.Action.PLAY.getAction(), callId);
|
||||||
|
VideoInfo parse = JsonUtils.parse(RedisUtil.StringOps.get(infoKey), VideoInfo.class);
|
||||||
|
Optional.ofNullable(parse).ifPresent((info)->{
|
||||||
|
if(info.getCallId().equalsIgnoreCase(callId)){
|
||||||
|
realtimeManager.removePlaying(device.getDeviceCode());
|
||||||
|
}
|
||||||
|
});
|
||||||
RedisUtil.KeyOps.delete(infoKey);
|
RedisUtil.KeyOps.delete(infoKey);
|
||||||
realtimeManager.removePlaying(device.getDeviceCode());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sender.getProvider(transport,ip)
|
sender.getProvider(transport,ip)
|
||||||
|
@ -45,6 +45,7 @@ public class RealtimeManager {
|
|||||||
|
|
||||||
// 定时任务
|
// 定时任务
|
||||||
schedule = scheduledExecutorService.schedule(()->{
|
schedule = scheduledExecutorService.schedule(()->{
|
||||||
|
log.info("[定时任务] 关闭设备(deviceCode => {}) 视频", deviceCode);
|
||||||
playing.remove(deviceCode);
|
playing.remove(deviceCode);
|
||||||
Gb28181DownloadService.VideoInfo _videoInfo = JsonUtils.parse(RedisUtil.StringOps.get(getRealtimeKey(deviceCode)), Gb28181DownloadService.VideoInfo.class);
|
Gb28181DownloadService.VideoInfo _videoInfo = JsonUtils.parse(RedisUtil.StringOps.get(getRealtimeKey(deviceCode)), Gb28181DownloadService.VideoInfo.class);
|
||||||
RedisUtil.KeyOps.delete(getRealtimeKey(deviceCode));
|
RedisUtil.KeyOps.delete(getRealtimeKey(deviceCode));
|
||||||
@ -98,6 +99,7 @@ public class RealtimeManager {
|
|||||||
|
|
||||||
// 判断缓存的 视频信息 与 缓存的 callId 是否相同 避免 下级点播出现信息不一致
|
// 判断缓存的 视频信息 与 缓存的 callId 是否相同 避免 下级点播出现信息不一致
|
||||||
if(videoInfo.getCallId().equalsIgnoreCase(existCallId)){
|
if(videoInfo.getCallId().equalsIgnoreCase(existCallId)){
|
||||||
|
log.info("关闭视频连接, {} => {}",deviceCode, existCallId);
|
||||||
sender.sendRequest((provider, localIp, localPort) ->
|
sender.sendRequest((provider, localIp, localPort) ->
|
||||||
SipRequestBuilder.createByeRequest(deviceIp, devicePort, device.getGbDeviceChannelId(), SipUtil.generateFromTag(), null, existCallId));
|
SipRequestBuilder.createByeRequest(deviceIp, devicePort, device.getGbDeviceChannelId(), SipUtil.generateFromTag(), null, existCallId));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user