Commit 66aac4526b8fc63912e0015ff2fdfeabcec015ce

Authored by 648540858
1 parent d21a0041

修复推流关联平台的bug

src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
... ... @@ -128,15 +128,27 @@ public class ZLMMediaListManager {
128 128 if (gbStreams.size() > 0) {
129 129 for (GbStream gbStream : gbStreams) {
130 130 // 出现使用相同国标Id的视频流时,使用新流替换旧流,
131   - gbStreamMapper.del(gbStream.getApp(), gbStream.getStream());
132   - if (!gbStream.isStatus()) {
133   - streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
  131 + if (queryKey != null) {
  132 + Matcher matcherForStream = pattern.matcher(gbStream.getStream());
  133 + String queryKeyForStream = null;
  134 + if (matcherForStream.find()) { //此处find()每次被调用后,会偏移到下一个匹配
  135 + queryKeyForStream = matcherForStream.group();
  136 + }
  137 + if (queryKeyForStream == null || !queryKeyForStream.equals(queryKey)) {
  138 + // 此时不是同一个流
  139 + gbStreamMapper.del(gbStream.getApp(), gbStream.getStream());
  140 + if (!gbStream.isStatus()) {
  141 + streamPushMapper.del(gbStream.getApp(), gbStream.getStream());
  142 + }
  143 + }
134 144 }
135 145 }
136 146 }
137 147 StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream());
138 148 if (streamProxyItem != null) {
139 149 transform.setGbStreamId(streamProxyItem.getGbStreamId());
  150 + transform.setPlatformId(streamProxyItem.getPlatformId());
  151 + transform.setCatalogId(streamProxyItem.getCatalogId());
140 152 gbStreamMapper.update(transform);
141 153 }else {
142 154 transform.setCreateStamp(System.currentTimeMillis());
... ...
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
... ... @@ -885,9 +885,9 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
885 885 List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream();
886 886 if (parentPlatforms.size() > 0) {
887 887 for (ParentPlatform parentPlatform : parentPlatforms) {
888   - StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
  888 + StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(),
889 889 parentPlatform.getServerGBId());
890   - if (streamProxyItems == null) {
  890 + if (streamProxyItem == null) {
891 891 streamPushItem.setCatalogId(parentPlatform.getCatalogId());
892 892 streamPushItem.setPlatformId(parentPlatform.getServerGBId());
893 893 platformGbStreamMapper.add(streamPushItem);
... ...