pull/1587/head
CNPolaris 2024-06-18 16:11:35 +08:00
commit 2d0bc7bde0
6 changed files with 24 additions and 20 deletions

View File

@ -14,9 +14,10 @@ assignees: ''
- 3. 端口开放情况 - 3. 端口开放情况
- 4. 是否是公网部署 - 4. 是否是公网部署
- 5. 是否使用https - 5. 是否使用https
- 6. 方便的话提供下使用的设备品牌或平台 - 6. 接入设备/平台品牌
- 7. 你做过哪些尝试 - 7. 你做过哪些尝试
- 8. 代码更新时间 - 8. 代码更新时间
- 9. 是否是4G设备接入
**描述错误** **描述错误**
描述下您遇到的问题 描述下您遇到的问题

View File

@ -39,10 +39,10 @@ public class SipLayer implements CommandLineRunner {
private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>(); private final Map<String, SipProviderImpl> tcpSipProviderMap = new ConcurrentHashMap<>();
private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>(); private final Map<String, SipProviderImpl> udpSipProviderMap = new ConcurrentHashMap<>();
private final List<String> monitorIps = new ArrayList<>();
@Override @Override
public void run(String... args) { public void run(String... args) {
List<String> monitorIps = new ArrayList<>();
if (ObjectUtils.isEmpty(sipConfig.getIp())) { if (ObjectUtils.isEmpty(sipConfig.getIp())) {
try { try {
// 获得本机的所有网络接口 // 获得本机的所有网络接口
@ -139,12 +139,12 @@ public class SipLayer implements CommandLineRunner {
} }
public SipProviderImpl getUdpSipProvider(String ip) { public SipProviderImpl getUdpSipProvider(String ip) {
if (ObjectUtils.isEmpty(ip)) {
return null;
}
if (udpSipProviderMap.size() == 1) { if (udpSipProviderMap.size() == 1) {
return udpSipProviderMap.values().stream().findFirst().get(); return udpSipProviderMap.values().stream().findFirst().get();
} }
if (ObjectUtils.isEmpty(ip)) {
return null;
}
return udpSipProviderMap.get(ip); return udpSipProviderMap.get(ip);
} }
@ -163,16 +163,19 @@ public class SipLayer implements CommandLineRunner {
} }
public SipProviderImpl getTcpSipProvider(String ip) { public SipProviderImpl getTcpSipProvider(String ip) {
if (ObjectUtils.isEmpty(ip)) {
return null;
}
if (tcpSipProviderMap.size() == 1) { if (tcpSipProviderMap.size() == 1) {
return tcpSipProviderMap.values().stream().findFirst().get(); return tcpSipProviderMap.values().stream().findFirst().get();
} }
if (ObjectUtils.isEmpty(ip)) {
return null;
}
return tcpSipProviderMap.get(ip); return tcpSipProviderMap.get(ip);
} }
public String getLocalIp(String deviceLocalIp) { public String getLocalIp(String deviceLocalIp) {
if (monitorIps.size() == 1) {
return monitorIps.get(0);
}
if (!ObjectUtils.isEmpty(deviceLocalIp)) { if (!ObjectUtils.isEmpty(deviceLocalIp)) {
return deviceLocalIp; return deviceLocalIp;
} }

View File

@ -43,9 +43,9 @@ public interface IStreamPushService {
/** /**
* *
* @param app * @param app
* @param streamId ID * @param stream ID
*/ */
boolean stop(String app, String streamId); boolean stop(String app, String stream);
/** /**
* *

View File

@ -274,19 +274,19 @@ public class StreamPushServiceImpl implements IStreamPushService {
} }
@Override @Override
public boolean stop(String app, String streamId) { public boolean stop(String app, String stream) {
logger.info("[推流 ] 停止流: {}/{}", app, streamId); logger.info("[推流 ] 停止流: {}/{}", app, stream);
StreamPushItem streamPushItem = streamPushMapper.selectOne(app, streamId); StreamPushItem streamPushItem = streamPushMapper.selectOne(app, stream);
if (streamPushItem != null) { if (streamPushItem != null) {
gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL); gbStreamService.sendCatalogMsg(streamPushItem, CatalogEvent.DEL);
} }
platformGbStreamMapper.delByAppAndStream(app, streamId); platformGbStreamMapper.delByAppAndStream(app, stream);
gbStreamMapper.del(app, streamId); gbStreamMapper.del(app, stream);
int delStream = streamPushMapper.del(app, streamId); int delStream = streamPushMapper.del(app, stream);
if (delStream > 0) { if (delStream > 0) {
MediaServer mediaServerItem = mediaServerService.getOne(streamPushItem.getMediaServerId()); MediaServer mediaServerItem = mediaServerService.getOne(streamPushItem.getMediaServerId());
mediaServerService.closeStreams(mediaServerItem,app, streamId); mediaServerService.closeStreams(mediaServerItem,app, stream);
} }
return true; return true;
} }

View File

@ -113,8 +113,8 @@ public class StreamPushController {
@Operation(summary = "中止一个推流", security = @SecurityRequirement(name = JwtUtils.HEADER)) @Operation(summary = "中止一个推流", security = @SecurityRequirement(name = JwtUtils.HEADER))
@Parameter(name = "app", description = "应用名", required = true) @Parameter(name = "app", description = "应用名", required = true)
@Parameter(name = "stream", description = "流id", required = true) @Parameter(name = "stream", description = "流id", required = true)
public void stop(String app, String streamId){ public void stop(String app, String stream){
if (!streamPushService.stop(app, streamId)){ if (!streamPushService.stop(app, stream)){
throw new ControllerException(ErrorCode.ERROR100); throw new ControllerException(ErrorCode.ERROR100);
} }
} }

View File

@ -2,4 +2,4 @@ spring:
application: application:
name: wvp name: wvp
profiles: profiles:
active: local active: base