From 745e04baa671bf337ba012cbafeea8e02f35051a Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Tue, 13 May 2025 11:14:23 +0200 Subject: [PATCH] ov-components: enhance recording URL handling for backward compatibility --- .../services/recording/recording.service.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/recording/recording.service.ts b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/recording/recording.service.ts index f0466ebf..c9677ffa 100644 --- a/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/recording/recording.service.ts +++ b/openvidu-components-angular/projects/openvidu-components-angular/src/lib/services/recording/recording.service.ts @@ -20,7 +20,7 @@ export class RecordingService { private recordingStatus = >new BehaviorSubject({ status: RecordingStatus.STOPPED, recordingList: [] as RecordingInfo[], - recordingElapsedTime: new Date(0, 0, 0, 0, 0, 0), + recordingElapsedTime: new Date(0, 0, 0, 0, 0, 0) }); private log: ILogger; @@ -43,7 +43,7 @@ export class RecordingService { setRecordingStarted(recordingInfo?: RecordingInfo, startTimestamp?: number) { // Register the start timestamp of the recording // to calculate the elapsed time - debugger + debugger; this.recordingStartTimestamp = recordingInfo?.startedAt || Date.now(); // Initialize the recording elapsed time @@ -155,7 +155,13 @@ export class RecordingService { this.log.d('Playing recording', recording); const queryParamForAvoidCache = `?t=${new Date().getTime()}`; const baseUrl = this.libService.getRecordingStreamBaseUrl(); - const streamRecordingUrl = `${baseUrl}${recording.id}/media${queryParamForAvoidCache}`; + let streamRecordingUrl = ''; + if (baseUrl === 'call/api/recordings/') { + // Keep the compatibility with the old version + streamRecordingUrl = `${baseUrl}${recording.id}/stream${queryParamForAvoidCache}`; + } else { + streamRecordingUrl = `${baseUrl}${recording.id}/media${queryParamForAvoidCache}`; + } this.actionService.openRecordingPlayerDialog(streamRecordingUrl); } @@ -169,7 +175,12 @@ export class RecordingService { const queryParamForAvoidCache = `?t=${new Date().getTime()}`; const link = document.createElement('a'); const baseUrl = this.libService.getRecordingStreamBaseUrl(); - link.href = `${baseUrl}${recording.id}/media${queryParamForAvoidCache}`; + if (baseUrl === 'call/api/recordings/') { + // Keep the compatibility with the old version + link.href = `${baseUrl}${recording.id}/stream${queryParamForAvoidCache}`; + } else { + link.href = `${baseUrl}${recording.id}/media${queryParamForAvoidCache}`; + } link.download = recording.filename || 'openvidu-recording.mp4'; link.dispatchEvent( new MouseEvent('click', {