From 6fb353b6b4ad9b264f911bbf64e535b02d9dfd73 Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Fri, 28 Mar 2025 10:26:15 +0100 Subject: [PATCH] backend: Filter out egress with status ENDING from the active egress list --- backend/src/services/livekit.service.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/services/livekit.service.ts b/backend/src/services/livekit.service.ts index 7326f5a..60d2b09 100644 --- a/backend/src/services/livekit.service.ts +++ b/backend/src/services/livekit.service.ts @@ -5,6 +5,7 @@ import { DataPacket_Kind, EgressClient, EgressInfo, + EgressStatus, EncodedFileOutput, ListEgressOptions, ParticipantInfo, @@ -208,7 +209,12 @@ export class LiveKitService { egressId, active: true }; - return await this.egressClient.listEgress(options); + const egress = await this.egressClient.listEgress(options); + + // In some cases, the egress list may contain egress that their status is ENDINDG + // which means that the egress is still active but it is in the process of stopping. + // We need to filter those out. + return egress.filter((e) => e.status === EgressStatus.EGRESS_ACTIVE); } catch (error: any) { if (error.message.includes('404')) { return [];