From b5bd0f04124ee58bf60a701f45224082ad2dff9a Mon Sep 17 00:00:00 2001 From: juancarmore Date: Tue, 17 Sep 2024 17:52:56 +0200 Subject: [PATCH] openvidu-recording: Change getActiveEgressesByRoom function to getActiveRecordingByRoom --- .../openvidu-recording-node/src/index.js | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/advanced-features/openvidu-recording-node/src/index.js b/advanced-features/openvidu-recording-node/src/index.js index f12435b4..627ec35a 100644 --- a/advanced-features/openvidu-recording-node/src/index.js +++ b/advanced-features/openvidu-recording-node/src/index.js @@ -66,10 +66,10 @@ app.post("/recordings/start", async (req, res) => { return; } - const activeEgresses = await getActiveEgressesByRoom(roomName); + const activeRecording = await getActiveRecordingByRoom(roomName); - // Check if there is already an active egress for this room - if (activeEgresses.length > 0) { + // Check if there is already an active recording for this room + if (activeRecording) { res.status(409).json({ errorMessage: "Recording already started for this room" }); return; } @@ -102,19 +102,17 @@ app.post("/recordings/stop", async (req, res) => { return; } - const activeEgresses = await getActiveEgressesByRoom(roomName); + const activeRecording = await getActiveRecordingByRoom(roomName); - // Check if there is an active egress for this room - if (activeEgresses.length === 0) { + // Check if there is an active recording for this room + if (!activeRecording) { res.status(409).json({ errorMessage: "Recording not started for this room" }); return; } - const egressId = activeEgresses[0].egressId; - try { // Stop the Egress to finish the recording - const egressInfo = await egressClient.stopEgress(egressId); + const egressInfo = await egressClient.stopEgress(activeRecording); const file = egressInfo.fileResults[0]; const recording = { name: file.filename.split("/").pop(), @@ -128,13 +126,14 @@ app.post("/recordings/stop", async (req, res) => { } }); -const getActiveEgressesByRoom = async (roomName) => { +const getActiveRecordingByRoom = async (roomName) => { try { // List all active egresses for the room - return await egressClient.listEgress({ roomName, active: true }); + const egresses = await egressClient.listEgress({ roomName, active: true }); + return egresses.length > 0 ? egresses[0].egressId : null; } catch (error) { console.error("Error listing egresses.", error); - return []; + return null; } };