From a073f73a8bafaf9d0e17501361148338c3e5a719 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Mon, 24 Jun 2019 17:21:26 +0200 Subject: [PATCH] openvidu-server: recordingStarted alwasy sent to CDR/Webhook --- .../io/openvidu/server/core/SessionEventsHandler.java | 2 -- .../recording/service/ComposedRecordingService.java | 2 -- .../server/recording/service/RecordingManager.java | 8 ++++++-- .../server/recording/service/RecordingService.java | 7 +++++-- .../recording/service/SingleStreamRecordingService.java | 2 -- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java index 704806b3..e112a475 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java +++ b/openvidu-server/src/main/java/io/openvidu/server/core/SessionEventsHandler.java @@ -423,8 +423,6 @@ public class SessionEventsHandler { public void sendRecordingStartedNotification(Session session, Recording recording) { - CDR.recordRecordingStarted(session.getSessionId(), recording); - // Filter participants by roles according to "openvidu.recording.notification" Set filteredParticipants = this.filterParticipantsByRole( this.openviduConfig.getRolesFromRecordingNotification(), session.getParticipants()); 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 a2356c0f..21d2c6b1 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 @@ -37,7 +37,6 @@ import com.github.dockerjava.api.model.Volume; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; -import io.openvidu.java.client.Recording.Status; import io.openvidu.java.client.RecordingLayout; import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.OpenViduServer; @@ -99,7 +98,6 @@ public class ComposedRecordingService extends RecordingService { return this.stopRecordingWithVideo(session, recording, reason); } else { recording = this.sealRecordingMetadataFileAsProcessing(recording); - this.cdr.recordRecordingStatusChanged(session.getSessionId(), recording, Status.processing); return this.stopRecordingAudioOnly(session, recording, reason, 0); } } 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 4af00fba..e80f3769 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 @@ -92,7 +92,7 @@ public class RecordingManager { @Autowired private KmsManager kmsManager; - + @Autowired private CallDetailRecord cdr; @@ -118,7 +118,8 @@ public class RecordingManager { this.dockerManager = new DockerManager(); this.composedRecordingService = new ComposedRecordingService(this, recordingDownloader, openviduConfig, cdr); - this.singleStreamRecordingService = new SingleStreamRecordingService(this, recordingDownloader, openviduConfig, cdr); + this.singleStreamRecordingService = new SingleStreamRecordingService(this, recordingDownloader, openviduConfig, + cdr); log.info("Recording module required: Downloading openvidu/openvidu-recording:" + openviduConfig.getOpenViduRecordingVersion() + " Docker image (350MB aprox)"); @@ -185,6 +186,9 @@ public class RecordingManager { throw e; } this.updateRecordingManagerCollections(session, recording); + + this.cdr.recordRecordingStarted(session.getSessionId(), recording); + if (!(OutputMode.COMPOSED.equals(properties.outputMode()) && properties.hasVideo())) { // Directly send recording started notification for all cases except for // COMPOSED recordings with video (will be sent on first RECORDER subscriber) 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 6871a895..e21c93a1 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 @@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; +import io.openvidu.java.client.Recording.Status; import io.openvidu.java.client.RecordingLayout; import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.cdr.CallDetailRecord; @@ -89,8 +90,10 @@ public abstract class RecordingService { protected Recording sealRecordingMetadataFileAsProcessing(Recording recording) { final String entityFile = this.openviduConfig.getOpenViduRecordingPath() + recording.getId() + "/" + RecordingManager.RECORDING_ENTITY_FILE + recording.getId(); - return this.sealRecordingMetadataFile(recording, 0, 0, io.openvidu.java.client.Recording.Status.processing, - entityFile); + Recording rec = this.sealRecordingMetadataFile(recording, 0, 0, + io.openvidu.java.client.Recording.Status.processing, entityFile); + this.cdr.recordRecordingStatusChanged(recording.getSessionId(), recording, Status.processing); + return rec; } /** 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 9c031f6f..31ee8dca 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 @@ -52,7 +52,6 @@ import com.google.gson.JsonObject; import io.openvidu.client.OpenViduException; import io.openvidu.client.OpenViduException.Code; -import io.openvidu.java.client.Recording.Status; import io.openvidu.java.client.RecordingProperties; import io.openvidu.server.cdr.CallDetailRecord; import io.openvidu.server.config.OpenviduConfig; @@ -133,7 +132,6 @@ public class SingleStreamRecordingService extends RecordingService { @Override public Recording stopRecording(Session session, Recording recording, EndReason reason) { recording = this.sealRecordingMetadataFileAsProcessing(recording); - this.cdr.recordRecordingStatusChanged(session.getSessionId(), recording, Status.processing); return this.stopRecording(session, recording, reason, 0); }