| | |
| | | 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; |
| | |
| | | streamPushMapper.update(transform); |
| | | gbStreamMapper.updateMediaServer(event.getApp(), event.getStream(), event.getMediaServer().getId()); |
| | | } |
| | | // TODO 相关的事件自行管理,不需要写入ZLMMediaListManager |
| | | // 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(); |
| | |
| | | } |
| | | |
| | | @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; |
| | | } |