From 87c071fd5e774091c7d87f3d7c24fd2360148d58 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 25 六月 2024 10:24:35 +0800
Subject: [PATCH] 合并271分支
---
src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java | 51 ++++++++++++++++++++++++++++++++-------------------
1 files changed, 32 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
index c849358..18de78a 100755
--- a/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/service/impl/StreamPushServiceImpl.java
@@ -26,6 +26,7 @@
import com.genersoft.iot.vmp.storager.dao.*;
import com.genersoft.iot.vmp.utils.DateUtil;
import com.genersoft.iot.vmp.vmanager.bean.ResourceBaseInfo;
+import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.slf4j.Logger;
@@ -126,18 +127,13 @@
streamPushMapper.update(transform);
gbStreamMapper.updateMediaServer(event.getApp(), event.getStream(), event.getMediaServer().getId());
}
- // TODO 鐩稿叧鐨勪簨浠惰嚜琛岀鐞嗭紝涓嶉渶瑕佸啓鍏LMMediaListManager
-// ChannelOnlineEvent channelOnlineEventLister = getChannelOnlineEventLister(transform.getApp(), transform.getStream());
-// if ( channelOnlineEventLister != null) {
-// try {
-// channelOnlineEventLister.run(transform.getApp(), transform.getStream(), transform.getServerId());;
-// } catch (ParseException e) {
-// logger.error("addPush: ", e);
-// }
-// removedChannelOnlineEventLister(transform.getApp(), transform.getStream());
-// }
// 鍐椾綑鏁版嵁锛岃嚜宸辩郴缁熶腑鑷敤
- redisCatchStorage.addPushListItem(event.getApp(), event.getStream(), event);
+ if (!"broadcast".equals(event.getApp()) && !"talk".equals(event.getApp())) {
+ StreamInfo streamInfo = mediaServerService.getStreamInfoByAppAndStream(
+ event.getMediaServer(), event.getApp(), event.getStream(), event.getMediaInfo(), event.getCallId());
+ event.getHookParam().setStreamInfo(new StreamContent(streamInfo));
+ redisCatchStorage.addPushListItem(event.getApp(), event.getStream(), event);
+ }
// 鍙戦�佹祦鍙樺寲redis娑堟伅
JSONObject jsonObject = new JSONObject();
@@ -217,7 +213,7 @@
streamPushItem.setStream(item.getStream());
streamPushItem.setAliveSecond(item.getAliveSecond());
streamPushItem.setOriginSock(item.getOriginSock());
- streamPushItem.setTotalReaderCount(item.getTotalReaderCount() + "");
+ streamPushItem.setTotalReaderCount(item.getTotalReaderCount());
streamPushItem.setOriginType(item.getOriginType());
streamPushItem.setOriginTypeStr(item.getOriginTypeStr());
streamPushItem.setOriginUrl(item.getOriginUrl());
@@ -274,19 +270,19 @@
}
@Override
- public boolean stop(String app, String streamId) {
- logger.info("[鎺ㄦ祦 ] 鍋滄娴侊細 {}/{}", app, streamId);
- StreamPushItem streamPushItem = streamPushMapper.selectOne(app, streamId);
+ public boolean stop(String app, String stream) {
+ logger.info("[鎺ㄦ祦 ] 鍋滄娴侊細 {}/{}", app, stream);
+ StreamPushItem streamPushItem = streamPushMapper.selectOne(app, stream);
if (streamPushItem != null) {
gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
}
- platformGbStreamMapper.delByAppAndStream(app, streamId);
- gbStreamMapper.del(app, streamId);
- int delStream = streamPushMapper.del(app, streamId);
+ platformGbStreamMapper.delByAppAndStream(app, stream);
+ gbStreamMapper.del(app, stream);
+ int delStream = streamPushMapper.del(app, stream);
if (delStream > 0) {
MediaServer mediaServerItem = mediaServerService.getOne(streamPushItem.getMediaServerId());
- mediaServerService.closeStreams(mediaServerItem,app, streamId);
+ mediaServerService.closeStreams(mediaServerItem,app, stream);
}
return true;
}
@@ -633,4 +629,21 @@
public Map<String, StreamPushItem> getAllAppAndStreamMap() {
return streamPushMapper.getAllAppAndStreamMap();
}
+
+ @Override
+ public void updatePush(OnStreamChangedHookParam param) {
+ StreamPushItem transform = transform(param);
+ StreamPushItem pushInDb = getPush(param.getApp(), param.getStream());
+ transform.setPushIng(param.isRegist());
+ transform.setUpdateTime(DateUtil.getNow());
+ transform.setPushTime(DateUtil.getNow());
+ transform.setSelf(userSetting.getServerId().equals(param.getSeverId()));
+ if (pushInDb == null) {
+ transform.setCreateTime(DateUtil.getNow());
+ streamPushMapper.add(transform);
+ }else {
+ streamPushMapper.update(transform);
+ gbStreamMapper.updateMediaServer(param.getApp(), param.getStream(), param.getMediaServerId());
+ }
+ }
}
--
Gitblit v1.8.0