Commit 20a3cb9e73d16bd08d99780b91ca0e8d8722a0f9

Authored by 648540858
1 parent faac9361

启用失败的流转发如果开启无人观看自动移除则不保存在数据库

src/main/java/com/genersoft/iot/vmp/service/impl/StreamProxyServiceImpl.java
@@ -105,24 +105,23 @@ public class StreamProxyServiceImpl implements IStreamProxyService { @@ -105,24 +105,23 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
105 result.append("保存成功"); 105 result.append("保存成功");
106 if (param.isEnable()) { 106 if (param.isEnable()) {
107 JSONObject jsonObject = addStreamProxyToZlm(param); 107 JSONObject jsonObject = addStreamProxyToZlm(param);
108 - if (jsonObject == null) { 108 + if (jsonObject == null || jsonObject.getInteger("code") != 0) {
109 streamLive = false; 109 streamLive = false;
110 result.append(", 但是启用失败,请检查流地址是否可用"); 110 result.append(", 但是启用失败,请检查流地址是否可用");
111 param.setEnable(false); 111 param.setEnable(false);
112 - videoManagerStorager.updateStreamProxy(param);  
113 - }else {  
114 - Integer code = jsonObject.getInteger("code");  
115 - if (code == 0) {  
116 - streamLive = true;  
117 - StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream(  
118 - mediaInfo, param.getApp(), param.getStream(), null);  
119 - wvpResult.setData(streamInfo); 112 + // 直接移除
  113 + if (param.isEnable_remove_none_reader()) {
  114 + del(param.getApp(), param.getStream());
120 }else { 115 }else {
121 - result.append(", 但是启用失败,请检查流地址是否可用");  
122 - param.setEnable(false);  
123 videoManagerStorager.updateStreamProxy(param); 116 videoManagerStorager.updateStreamProxy(param);
124 } 117 }
125 118
  119 + }else {
  120 + streamLive = true;
  121 + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream(
  122 + mediaInfo, param.getApp(), param.getStream(), null);
  123 + wvpResult.setData(streamInfo);
  124 +
126 } 125 }
127 } 126 }
128 }else { 127 }else {
@@ -202,8 +201,10 @@ public class StreamProxyServiceImpl implements IStreamProxyService { @@ -202,8 +201,10 @@ public class StreamProxyServiceImpl implements IStreamProxyService {
202 platformGbStreamMapper.delByAppAndStream(app, stream); 201 platformGbStreamMapper.delByAppAndStream(app, stream);
203 // TODO 如果关联的推流, 那么状态设置为离线 202 // TODO 如果关联的推流, 那么状态设置为离线
204 } 203 }
  204 + redisCatchStorage.removeStream(streamProxyItem.getMediaServerId(), "PULL", app, stream);
205 } 205 }
206 206
  207 +
207 } 208 }
208 209
209 @Override 210 @Override