diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java index 47460524..a66f65ad 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/ComposedRecordingService.java @@ -365,6 +365,8 @@ public class ComposedRecordingService extends RecordingService { long finalSize = videoFile.length(); long finalDuration = compositeWrapper.getDuration(); + this.updateFilePermissions(filesPath); + this.sealRecordingMetadataFile(recording, finalSize, finalDuration, filesPath + RecordingManager.RECORDING_ENTITY_FILE + recording.getId()); diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java index 780ab1a3..3b15cf80 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingService.java @@ -17,6 +17,8 @@ package io.openvidu.server.recording.service; +import java.io.IOException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,6 +29,7 @@ import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.config.OpenviduConfig; import io.openvidu.server.core.Session; import io.openvidu.server.recording.Recording; +import io.openvidu.server.utils.CommandExecutor; import io.openvidu.server.utils.CustomFileWriter; public abstract class RecordingService { @@ -126,6 +129,20 @@ public abstract class RecordingService { return new PropertiesRecordingId(properties, recordingId); } + protected void updateFilePermissions(String folder) { + String command = "chmod -R 777 " + folder; + try { + String response = CommandExecutor.execCommand("/bin/sh", "-c", command); + if ("".equals(response)) { + log.info("Individual recording file permissions successfully updated"); + } else { + log.error("Individual recording file permissions failed to update: {}", response); + } + } catch (IOException | InterruptedException e) { + log.error("Individual recording file permissions failed to update. Error: {}", e.getMessage()); + } + } + protected String getShortSessionId(Session session) { return session.getSessionId().substring(session.getSessionId().lastIndexOf('/') + 1, session.getSessionId().length()); diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java index 91004bc4..ec9f9935 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/SingleStreamRecordingService.java @@ -448,18 +448,4 @@ public class SingleStreamRecordingService extends RecordingService { } } - private void updateFilePermissions(String folder) { - String command = "chmod -R 777 " + folder; - try { - String response = CommandExecutor.execCommand("/bin/sh", "-c", command); - if ("".equals(response)) { - log.info("Individual recording file permissions successfully updated"); - } else { - log.error("Individual recording file permissions failed to update: {}", response); - } - } catch (IOException | InterruptedException e) { - log.error("Individual recording file permissions failed to update. Error: {}", e.getMessage()); - } - } - }