From 0561c6aab797ba6fd5d22e9b75c88498c8cab14e Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Wed, 2 Dec 2020 13:30:46 +0100 Subject: [PATCH] openvidu-server: refactor KmsManager#incrementActiveRecordings with more info --- .../io/openvidu/server/kurento/kms/FixedOneKmsManager.java | 7 +++++-- .../java/io/openvidu/server/kurento/kms/KmsManager.java | 5 ++++- .../server/recording/service/RecordingManager.java | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) 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 d7e39e94..313d3bf7 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 @@ -27,6 +27,9 @@ import javax.annotation.PostConstruct; import org.kurento.client.KurentoClient; import org.kurento.commons.exception.KurentoException; +import io.openvidu.java.client.RecordingProperties; +import io.openvidu.server.core.Session; + public class FixedOneKmsManager extends KmsManager { @Override @@ -65,9 +68,9 @@ public class FixedOneKmsManager extends KmsManager { } @Override - public void incrementActiveRecordings(String mediaNodeId, String recordingId, String sessionId) { + public void incrementActiveRecordings(RecordingProperties properties, String recordingId, Session session) { try { - this.getKmss().iterator().next().incrementActiveRecordings(recordingId, sessionId); + this.getKmss().iterator().next().incrementActiveRecordings(recordingId, session.getSessionId()); } catch (NoSuchElementException e) { log.error("There is no KMS available when incrementing active recordings"); } diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java index 93439d99..af6970a5 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java @@ -42,8 +42,10 @@ import org.springframework.beans.factory.annotation.Autowired; import com.google.gson.JsonObject; +import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.core.IdentifierPrefixes; +import io.openvidu.server.core.Session; import io.openvidu.server.kurento.core.KurentoSession; import io.openvidu.server.utils.MediaNodeStatusManager; import io.openvidu.server.utils.QuarantineKiller; @@ -356,7 +358,8 @@ public abstract class KmsManager { public abstract boolean isMediaNodeAvailableForRecording(String mediaNodeId); - public abstract void incrementActiveRecordings(String mediaNodeId, String recordingId, String sessionId); + public abstract void incrementActiveRecordings(RecordingProperties recordingProperties, String recordingId, + Session session); public abstract void decrementActiveRecordings(String mediaNodeId, String recordingId); diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java index 11c87ca7..a42363af 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java @@ -273,7 +273,7 @@ public class RecordingManager { // INCREMENT ACTIVE RECORDINGS OF MEDIA NODE HERE. IF MEDIA NODE IS NOT // AVAILABLE FOR STARTING NEW RECORDINGS THIS METHOD THROWS AN EXCEPTION - kmsManager.incrementActiveRecordings(properties.mediaNode(), recordingId, session.getSessionId()); + kmsManager.incrementActiveRecordings(properties, recordingId, session); try { if (session.recordingLock.tryLock(15, TimeUnit.SECONDS)) {