diff --git a/openvidu-node-client/src/OpenVidu.ts b/openvidu-node-client/src/OpenVidu.ts index dcdbcd8e..42d06120 100644 --- a/openvidu-node-client/src/OpenVidu.ts +++ b/openvidu-node-client/src/OpenVidu.ts @@ -147,14 +147,16 @@ export class OpenVidu { data = { session: sessionId, name: !!properties.name ? properties.name : '', - outputMode: !!properties.outputMode ? properties.outputMode : Recording.OutputMode.COMPOSED, - hasAudio: !!(properties.hasAudio), - hasVideo: !!(properties.hasVideo) + outputMode: properties.outputMode, + hasAudio: properties.hasAudio != null ? properties.hasAudio : null, + hasVideo: properties.hasVideo != null ? properties.hasVideo : null, + shmSize: properties.shmSize, + mediaNode: properties.mediaNode }; - if (data.outputMode.toString() === Recording.OutputMode[Recording.OutputMode.COMPOSED] - || data.outputMode.toString() === Recording.OutputMode[Recording.OutputMode.COMPOSED_QUICK_START]) { - data.resolution = !!properties.resolution ? properties.resolution : '1920x1080'; - data.recordingLayout = !!properties.recordingLayout ? properties.recordingLayout : RecordingLayout.BEST_FIT; + if ((data.hasVideo == null || data.hasVideo) && (data.outputMode == null || data.outputMode.toString() === Recording.OutputMode[Recording.OutputMode.COMPOSED] + || data.outputMode.toString() === Recording.OutputMode[Recording.OutputMode.COMPOSED_QUICK_START])) { + data.resolution = properties.resolution; + data.recordingLayout = !!properties.recordingLayout ? properties.recordingLayout : ''; if (data.recordingLayout.toString() === RecordingLayout[RecordingLayout.CUSTOM]) { data.customLayout = !!properties.customLayout ? properties.customLayout : ''; } @@ -163,15 +165,13 @@ export class OpenVidu { } else { data = JSON.stringify({ session: sessionId, - name: param2, - outputMode: Recording.OutputMode.COMPOSED + name: param2 }); } } else { data = JSON.stringify({ session: sessionId, - name: '', - outputMode: Recording.OutputMode.COMPOSED + name: '' }); } diff --git a/openvidu-node-client/src/RecordingProperties.ts b/openvidu-node-client/src/RecordingProperties.ts index 39660e62..3682c406 100644 --- a/openvidu-node-client/src/RecordingProperties.ts +++ b/openvidu-node-client/src/RecordingProperties.ts @@ -68,6 +68,12 @@ export interface RecordingProperties { */ hasVideo?: boolean; + /** + * If COMPOSED recording, the amount of shared memory reserved for the recording process in bytes. + * Minimum 134217728 (128MB). Property ignored if INDIVIDUAL recording. Default to 536870912 (512 MB) + */ + shmSize?: number; + /** * **This feature is part of OpenVidu Pro tier** PRO *