修复缓存清理失败的BUG

This commit is contained in:
lin 2025-04-14 11:22:11 +08:00
parent 6ccccb1bbd
commit 2c494bcc7d

View File

@ -124,25 +124,21 @@ public class StreamPushServiceImpl implements IStreamPushService {
public void onApplicationEvent(MediaDepartureEvent event) { public void onApplicationEvent(MediaDepartureEvent event) {
// 兼容流注销时类型从redis记录获取 // 兼容流注销时类型从redis记录获取
MediaInfo mediaInfo = redisCatchStorage.getStreamInfo( MediaInfo mediaInfo = redisCatchStorage.getPushListItem(event.getApp(), event.getStream());
event.getApp(), event.getStream(), event.getMediaServer().getId());
if (mediaInfo != null) { if (mediaInfo != null) {
log.info("[推流信息] 查询到redis存在推流缓存 开始清理,{}/{}", event.getApp(), event.getStream());
String type = OriginType.values()[mediaInfo.getOriginType()].getType(); String type = OriginType.values()[mediaInfo.getOriginType()].getType();
redisCatchStorage.removeStream(event.getMediaServer().getId(), type, event.getApp(), event.getStream()); // 冗余数据自己系统中自用
if ("PUSH".equalsIgnoreCase(type)) { redisCatchStorage.removePushListItem(event.getApp(), event.getStream(), event.getMediaServer().getId());
// 冗余数据自己系统中自用 // 发送流变化redis消息
redisCatchStorage.removePushListItem(event.getApp(), event.getStream(), event.getMediaServer().getId()); JSONObject jsonObject = new JSONObject();
} jsonObject.put("serverId", userSetting.getServerId());
if (type != null) { jsonObject.put("app", event.getApp());
// 发送流变化redis消息 jsonObject.put("stream", event.getStream());
JSONObject jsonObject = new JSONObject(); jsonObject.put("register", false);
jsonObject.put("serverId", userSetting.getServerId()); jsonObject.put("mediaServerId", event.getMediaServer().getId());
jsonObject.put("app", event.getApp()); redisCatchStorage.sendStreamChangeMsg(type, jsonObject);
jsonObject.put("stream", event.getStream());
jsonObject.put("register", false);
jsonObject.put("mediaServerId", event.getMediaServer().getId());
redisCatchStorage.sendStreamChangeMsg(type, jsonObject);
}
} }
StreamPush streamPush = getPush(event.getApp(), event.getStream()); StreamPush streamPush = getPush(event.getApp(), event.getStream());
if (streamPush == null) { if (streamPush == null) {