修复国标录像下载后负载统计未清除的BUG
parent
da2662ab27
commit
7b46769a16
|
@ -27,7 +27,7 @@ public class MediaConfig{
|
|||
@Value("${media.ip}")
|
||||
private String ip;
|
||||
|
||||
@Value("${media.wan_ip}")
|
||||
@Value("${media.wan_ip:}")
|
||||
private String wanIp;
|
||||
|
||||
@Value("${media.hook-ip:127.0.0.1}")
|
||||
|
@ -36,10 +36,10 @@ public class MediaConfig{
|
|||
@Value("${sip.domain}")
|
||||
private String sipDomain;
|
||||
|
||||
@Value("${media.sdp-ip:${media.wan_ip}}")
|
||||
@Value("${media.sdp-ip:${media.wan_ip:}}")
|
||||
private String sdpIp;
|
||||
|
||||
@Value("${media.stream-ip:${media.wan_ip}}")
|
||||
@Value("${media.stream-ip:${media.wan_ip:}}")
|
||||
private String streamIp;
|
||||
|
||||
@Value("${media.http-port:0}")
|
||||
|
@ -283,4 +283,12 @@ public class MediaConfig{
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getWanIp() {
|
||||
return wanIp;
|
||||
}
|
||||
|
||||
public void setWanIp(String wanIp) {
|
||||
this.wanIp = wanIp;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ public interface IInviteStreamService {
|
|||
*/
|
||||
void updateInviteInfo(InviteInfo inviteInfo);
|
||||
|
||||
void updateInviteInfo(InviteInfo inviteInfo, Long time);
|
||||
|
||||
InviteInfo updateInviteInfoForStream(InviteInfo inviteInfo, String stream);
|
||||
|
||||
/**
|
||||
|
|
|
@ -24,6 +24,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service
|
||||
@DS("master")
|
||||
|
@ -64,9 +65,13 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInviteInfo(InviteInfo inviteInfo) {
|
||||
updateInviteInfo(inviteInfo, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInviteInfo(InviteInfo inviteInfo, Long time) {
|
||||
if (inviteInfo == null || (inviteInfo.getDeviceId() == null || inviteInfo.getChannelId() == null)) {
|
||||
logger.warn("[更新Invite信息],参数不全: {}", JSON.toJSON(inviteInfo));
|
||||
return;
|
||||
|
@ -118,7 +123,11 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
|||
":" + inviteInfoForUpdate.getChannelId() +
|
||||
":" + inviteInfoForUpdate.getStream()+
|
||||
":" + inviteInfoForUpdate.getSsrcInfo().getSsrc();
|
||||
redisTemplate.opsForValue().set(key, inviteInfoForUpdate);
|
||||
if (time != null && time > 0) {
|
||||
redisTemplate.opsForValue().set(key, inviteInfoForUpdate, time, TimeUnit.SECONDS);
|
||||
}else {
|
||||
redisTemplate.opsForValue().set(key, inviteInfoForUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -243,6 +252,9 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
|||
String keyStr = (String) keyObj;
|
||||
InviteInfo inviteInfo = (InviteInfo) redisTemplate.opsForValue().get(keyStr);
|
||||
if (inviteInfo != null && inviteInfo.getStreamInfo() != null && inviteInfo.getStreamInfo().getMediaServerId().equals(mediaServerId)) {
|
||||
if (inviteInfo.getType().equals(InviteSessionType.DOWNLOAD) && inviteInfo.getStreamInfo().getProgress() == 1) {
|
||||
continue;
|
||||
}
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1038,7 +1038,8 @@ public class PlayServiceImpl implements IPlayService {
|
|||
InviteInfo inviteInfoForNew = inviteStreamService.getInviteInfo(inviteInfo.getType(), inviteInfo.getDeviceId()
|
||||
, inviteInfo.getChannelId(), inviteInfo.getStream());
|
||||
inviteInfoForNew.getStreamInfo().setDownLoadFilePath(downloadFileInfo);
|
||||
inviteStreamService.updateInviteInfo(inviteInfoForNew);
|
||||
// 不可以马上移除会导致后续接口拿不到下载地址
|
||||
inviteStreamService.updateInviteInfo(inviteInfoForNew, 60*15L);
|
||||
};
|
||||
Hook hook = Hook.getInstance(HookType.on_record_mp4, "rtp", ssrcInfo.getStream(), mediaServerItem.getId());
|
||||
// 设置过期时间,下载失败时自动处理订阅数据
|
||||
|
|
Loading…
Reference in New Issue