diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java index 12fd8095..5dc261ab 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java @@ -56,12 +56,11 @@ public class FixedOneKmsManager extends KmsManager { // TODO: This should be done in KurentoClient connected event kms.setKurentoClientConnected(true); - MediaServer mediaServer = kms.fetchMediaServerType(); this.addKms(kms); // Set Media Server in OpenVidu configuration - this.openviduConfig.setMediaServer(mediaServer); + this.openviduConfig.setMediaServer(kms.getMediaServer()); } catch (KurentoException e) { log.error("KMS in {} is not reachable by OpenVidu Server", firstProps.getUri()); diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java index 585e1886..f7f2415c 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/Kms.java @@ -147,6 +147,9 @@ public class Kms { if (isConnected) { this.setTimeOfKurentoClientConnection(timestamp); this.mediaNodeManager.mediaNodeUsageRegistration(this, timestamp); + if (this.mediaServer == null) { + this.fetchMediaServerType(); + } } else { this.setTimeOfKurentoClientDisconnection(timestamp); this.mediaNodeManager.mediaNodeUsageDeregistration(this, timestamp); @@ -298,6 +301,13 @@ public class Kms { return this.activeComposedRecordings.intValue(); } + public MediaServer getMediaServer() { + if (this.mediaServer == null) { + this.fetchMediaServerType(); + } + return this.mediaServer; + } + public MediaServer fetchMediaServerType() { ServerInfo serverInfo = this.client.getServerManager().getInfo(); if (serverInfo.getVersion().startsWith("openvidu/mediasoup-controller")) { diff --git a/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java b/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java index 20d998df..6c719721 100644 --- a/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java +++ b/openvidu-server/src/test/java/io/openvidu/server/test/integration/config/IntegrationTestConfiguration.java @@ -62,7 +62,6 @@ public class IntegrationTestConfiguration { kms.setKurentoClient(kClient); kms.setKurentoClientConnected(true); - kms.fetchMediaServerType(); spy.addKms(kms); successfullyConnectedKmss.add(kms);