From 888cc1bfc500b994fecc788a56c7cc7fcbe50df5 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 11 May 2021 12:35:37 +0200 Subject: [PATCH] openvidu-server: parse ignoreFailedStreams recording property from REST params --- .../server/rest/SessionRestController.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java index 1e418018..c39195b9 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java +++ b/openvidu-server/src/main/java/io/openvidu/server/rest/SessionRestController.java @@ -925,6 +925,7 @@ public class SessionRestController { Integer frameRateFinal = null; Long shmSizeFinal = null; String customLayoutFinal = null; + Boolean ignoreFailedStreamsFinal = null; RecordingProperties defaultProps = session.getSessionProperties().defaultRecordingProperties(); @@ -938,6 +939,7 @@ public class SessionRestController { Integer frameRateDefault = defaultProps.frameRate(); Long shmSizeDefault = defaultProps.shmSize(); String customLayoutDefault = defaultProps.customLayout(); + Boolean ignoreFailedStreamsDefault = defaultProps.ignoreFailedStreams(); // Provided properties through params String sessionIdParam; @@ -950,6 +952,7 @@ public class SessionRestController { Integer frameRateParam; Long shmSizeParam = null; String customLayoutParam; + Boolean ignoreFailedStreamsParam; try { sessionIdParam = (String) params.get("session"); @@ -964,6 +967,7 @@ public class SessionRestController { shmSizeParam = Long.parseLong(params.get("shmSize").toString()); } customLayoutParam = (String) params.get("customLayout"); + ignoreFailedStreamsParam = (Boolean) params.get("ignoreFailedStreams"); } catch (ClassCastException | NumberFormatException e) { throw new Exception("Type error in some parameter: " + e.getMessage()); } @@ -1086,6 +1090,14 @@ public class SessionRestController { customLayoutFinal = ""; } } + } else if (OutputMode.INDIVIDUAL.equals(outputModeFinal)) { + if (ignoreFailedStreamsParam != null) { + ignoreFailedStreamsFinal = ignoreFailedStreamsParam; + } else if (ignoreFailedStreamsDefault != null) { + ignoreFailedStreamsFinal = ignoreFailedStreamsDefault; + } else { + ignoreFailedStreamsFinal = RecordingProperties.DefaultValues.ignoreFailedStreams; + } } RecordingProperties.Builder builder = new RecordingProperties.Builder(); @@ -1099,6 +1111,9 @@ public class SessionRestController { builder.customLayout(customLayoutFinal); } } + if (OutputMode.INDIVIDUAL.equals(outputModeFinal)) { + builder.ignoreFailedStreams(ignoreFailedStreamsFinal); + } return builder; }