Commit 66aac4526b8fc63912e0015ff2fdfeabcec015ce
1 parent
d21a0041
修复推流关联平台的bug
Showing
2 changed files
with
17 additions
and
5 deletions
src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMMediaListManager.java
| @@ -128,15 +128,27 @@ public class ZLMMediaListManager { | @@ -128,15 +128,27 @@ public class ZLMMediaListManager { | ||
| 128 | if (gbStreams.size() > 0) { | 128 | if (gbStreams.size() > 0) { |
| 129 | for (GbStream gbStream : gbStreams) { | 129 | for (GbStream gbStream : gbStreams) { |
| 130 | // 出现使用相同国标Id的视频流时,使用新流替换旧流, | 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 | StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream()); | 147 | StreamProxyItem streamProxyItem = gbStreamMapper.selectOne(transform.getApp(), transform.getStream()); |
| 138 | if (streamProxyItem != null) { | 148 | if (streamProxyItem != null) { |
| 139 | transform.setGbStreamId(streamProxyItem.getGbStreamId()); | 149 | transform.setGbStreamId(streamProxyItem.getGbStreamId()); |
| 150 | + transform.setPlatformId(streamProxyItem.getPlatformId()); | ||
| 151 | + transform.setCatalogId(streamProxyItem.getCatalogId()); | ||
| 140 | gbStreamMapper.update(transform); | 152 | gbStreamMapper.update(transform); |
| 141 | }else { | 153 | }else { |
| 142 | transform.setCreateStamp(System.currentTimeMillis()); | 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,9 +885,9 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager { | ||
| 885 | List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream(); | 885 | List<ParentPlatform> parentPlatforms = parentPlatformMapper.selectAllAhareAllLiveStream(); |
| 886 | if (parentPlatforms.size() > 0) { | 886 | if (parentPlatforms.size() > 0) { |
| 887 | for (ParentPlatform parentPlatform : parentPlatforms) { | 887 | for (ParentPlatform parentPlatform : parentPlatforms) { |
| 888 | - StreamProxyItem streamProxyItems = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(), | 888 | + StreamProxyItem streamProxyItem = platformGbStreamMapper.selectOne(streamPushItem.getApp(), streamPushItem.getStream(), |
| 889 | parentPlatform.getServerGBId()); | 889 | parentPlatform.getServerGBId()); |
| 890 | - if (streamProxyItems == null) { | 890 | + if (streamProxyItem == null) { |
| 891 | streamPushItem.setCatalogId(parentPlatform.getCatalogId()); | 891 | streamPushItem.setCatalogId(parentPlatform.getCatalogId()); |
| 892 | streamPushItem.setPlatformId(parentPlatform.getServerGBId()); | 892 | streamPushItem.setPlatformId(parentPlatform.getServerGBId()); |
| 893 | platformGbStreamMapper.add(streamPushItem); | 893 | platformGbStreamMapper.add(streamPushItem); |