From 7565b2ea779ae973e894b6da051eb4119e49286d Mon Sep 17 00:00:00 2001
From: BradyXu <brady_xu@outlook.com>
Date: 星期三, 15 五月 2024 23:28:38 +0800
Subject: [PATCH] fix 优化及联本地IP选择
---
src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
index cba033d..2dd66e7 100755
--- a/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/media/service/impl/MediaServerServiceImpl.java
@@ -115,6 +115,9 @@
removeCount(event.getMediaServer().getId());
MediaInfo mediaInfo = redisCatchStorage.getStreamInfo(
event.getApp(), event.getStream(), event.getMediaServer().getId());
+ if (mediaInfo == null) {
+ return;
+ }
String type = OriginType.values()[mediaInfo.getOriginType()].getType();
redisCatchStorage.removeStream(mediaInfo.getMediaServer().getId(), type, event.getApp(), event.getStream());
}
@@ -399,6 +402,7 @@
logger.info("[娣诲姞濯掍綋鑺傜偣] 澶辫触, mediaServer鐨勭被鍨嬶細 {}锛屾湭鎵惧埌瀵瑰簲鐨勫疄鐜扮被", mediaServer.getType());
return;
}
+
mediaServerMapper.add(mediaServer);
if (mediaServer.isStatus()) {
mediaNodeServerService.online(mediaServer);
@@ -589,6 +593,16 @@
return false;
}
return mediaNodeServerService.stopSendRtp(mediaInfo, app, stream, ssrc);
+ }
+
+ @Override
+ public boolean initStopSendRtp(MediaServer mediaInfo, String app, String stream, String ssrc) {
+ IMediaNodeServerService mediaNodeServerService = nodeServerServiceMap.get(mediaInfo.getType());
+ if (mediaNodeServerService == null) {
+ logger.info("[stopSendRtp] 澶辫触, mediaServer鐨勭被鍨嬶細 {}锛屾湭鎵惧埌瀵瑰簲鐨勫疄鐜扮被", mediaInfo.getType());
+ return false;
+ }
+ return mediaNodeServerService.initStopSendRtp(mediaInfo, app, stream, ssrc);
}
@Override
@@ -895,4 +909,16 @@
sendRtpItem.setRtcp(rtcp);
return sendRtpItem;
}
+
+ @Override
+ public MediaServer getMediaServerByAppAndStream(String app, String stream) {
+ List<MediaServer> mediaServerList = getAll();
+ for (MediaServer mediaServer : mediaServerList) {
+ MediaInfo mediaInfo = getMediaInfo(mediaServer, app, stream);
+ if (mediaInfo != null) {
+ return mediaServer;
+ }
+ }
+ return null;
+ }
}
--
Gitblit v1.8.0