diff --git a/openvidu-java-client/src/main/java/io/openvidu/java/client/ConnectionProperties.java b/openvidu-java-client/src/main/java/io/openvidu/java/client/ConnectionProperties.java
index f857d415..dd5b77cd 100644
--- a/openvidu-java-client/src/main/java/io/openvidu/java/client/ConnectionProperties.java
+++ b/openvidu-java-client/src/main/java/io/openvidu/java/client/ConnectionProperties.java
@@ -56,7 +56,8 @@ public class ConnectionProperties {
* have effect:
*
* - {@link io.openvidu.java.client.ConnectionType#WEBRTC}:
- * {@link io.openvidu.java.client.ConnectionProperties.Builder#data(String) data},
+ * {@link io.openvidu.java.client.ConnectionProperties.Builder#data(String)
+ * data},
* {@link io.openvidu.java.client.ConnectionProperties.Builder#record(boolean)
* record},
* {@link io.openvidu.java.client.ConnectionProperties.Builder#role(OpenViduRole)
@@ -64,7 +65,8 @@ public class ConnectionProperties {
* {@link io.openvidu.java.client.ConnectionProperties.Builder#kurentoOptions(KurentoOptions)
* kurentoOptions}
* - {@link io.openvidu.java.client.ConnectionType#IPCAM}:
- * {@link io.openvidu.java.client.ConnectionProperties.Builder#data(String) data},
+ * {@link io.openvidu.java.client.ConnectionProperties.Builder#data(String)
+ * data},
* {@link io.openvidu.java.client.ConnectionProperties.Builder#record(boolean)
* record},
* {@link io.openvidu.java.client.ConnectionProperties.Builder#rtspUri(String)
@@ -248,8 +250,12 @@ public class ConnectionProperties {
}
/**
- * Whether the streams published by this Connection will be recorded or not.
- * This only affects PRO Whether the streams published by this Connection will be
+ * recorded or not. This only affects INDIVIDUAL recording.
*/
diff --git a/openvidu-node-client/src/ConnectionProperties.ts b/openvidu-node-client/src/ConnectionProperties.ts
index 8ba7f518..ca88e962 100644
--- a/openvidu-node-client/src/ConnectionProperties.ts
+++ b/openvidu-node-client/src/ConnectionProperties.ts
@@ -39,6 +39,8 @@ export interface ConnectionProperties {
data?: string;
/**
+ * **This feature is part of OpenVidu Pro tier** PRO
+ *
* Whether to record the streams published by this Connection or not. This only affects [INDIVIDUAL recording](/en/stable/advanced-features/recording#selecting-streams-to-be-recorded)
*
* @default true
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 7fc10a6b..59aca901 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
@@ -284,7 +284,7 @@ public class SessionRestController {
ConnectionProperties connectionProperties;
try {
- connectionProperties = getConnectionPropertiesFromParams(params);
+ connectionProperties = getConnectionPropertiesFromParams(params).build();
} catch (Exception e) {
return this.generateErrorResponse(e.getMessage(), "/sessions/" + sessionId + "/connection",
HttpStatus.BAD_REQUEST);
@@ -660,7 +660,7 @@ public class SessionRestController {
ConnectionProperties connectionProperties;
params.remove("record");
try {
- connectionProperties = getConnectionPropertiesFromParams(params);
+ connectionProperties = getConnectionPropertiesFromParams(params).build();
} catch (Exception e) {
return this.generateErrorResponse(e.getMessage(), "/sessions/" + sessionId + "/connection",
HttpStatus.BAD_REQUEST);
@@ -787,8 +787,9 @@ public class SessionRestController {
// While closing a session tokens can't be generated
if (session.closingLock.readLock().tryLock()) {
try {
- Token token = sessionManager.newToken(session, connectionProperties.getRole(), connectionProperties.getData(),
- connectionProperties.record(), connectionProperties.getKurentoOptions());
+ Token token = sessionManager.newToken(session, connectionProperties.getRole(),
+ connectionProperties.getData(), connectionProperties.record(),
+ connectionProperties.getKurentoOptions());
return new ResponseEntity<>(token.toJsonAsParticipant().toString(), RestUtils.getResponseHeaders(),
HttpStatus.OK);
} catch (Exception e) {
@@ -858,17 +859,15 @@ public class SessionRestController {
return token;
}
- protected ConnectionProperties getConnectionPropertiesFromParams(Map, ?> params) throws Exception {
+ protected ConnectionProperties.Builder getConnectionPropertiesFromParams(Map, ?> params) throws Exception {
ConnectionProperties.Builder builder = new ConnectionProperties.Builder();
String typeString;
String data;
- Boolean record;
try {
typeString = (String) params.get("type");
data = (String) params.get("data");
- record = (Boolean) params.get("record");
} catch (ClassCastException e) {
throw new Exception("Type error in some parameter: " + e.getMessage());
}
@@ -884,10 +883,9 @@ public class SessionRestController {
throw new Exception("Parameter 'type' " + typeString + " is not defined");
}
data = data != null ? data : "";
- record = record != null ? record : true;
// Build COMMON options
- builder.type(type).data(data).record(record);
+ builder.type(type).data(data).record(true);
OpenViduRole role = null;
KurentoOptions kurentoOptions = null;
@@ -974,7 +972,7 @@ public class SessionRestController {
.onlyPlayWithSubscribers(onlyPlayWithSubscribers).networkCache(networkCache).build();
}
- return builder.build();
+ return builder;
}
protected ResponseEntity generateErrorResponse(String errorMessage, String path, HttpStatus status) {