From b29ecafea5f7e8d1fdf8e3d5b58cee554cb4f851 Mon Sep 17 00:00:00 2001 From: csantosm <4a.santos@gmail.com> Date: Mon, 18 Apr 2022 17:12:08 +0200 Subject: [PATCH] openvidu-components: Disabled screenshare if token is not received --- .../videoconference/videoconference.component.ts | 16 ++++++++++------ .../src/lib/models/token.model.ts | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts index 742031b6..38fd90e4 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/components/videoconference/videoconference.component.ts @@ -238,16 +238,20 @@ export class VideoconferenceComponent implements OnInit, OnDestroy, AfterViewIni */ @Input() set tokens(tokens: TokenModel) { - if (!tokens || (!tokens.webcam && !tokens.screen)) { - //No tokens received - // throw new Error('No tokens received'); + if (!tokens || !tokens.webcam) { this.log.w('No tokens received'); } else { - if (tokens.webcam || tokens.screen) { - this.tokenService.setWebcamToken(tokens.webcam); + this.log.w('Tokens received'); + this.tokenService.setWebcamToken(tokens.webcam); + + if(tokens.screen) { this.tokenService.setScreenToken(tokens.screen); - this.canPublish = true; + } else { + // Hide screenshare button if screen token does not exist + this.libService.screenshareButton.next(false); + this.log.w('No screen token found. Screenshare feature will be disabled'); } + this.canPublish = true; } } diff --git a/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts b/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts index 4ba22493..d3ec1cc0 100644 --- a/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts +++ b/openvidu-components-angular/projects/openvidu-angular/src/lib/models/token.model.ts @@ -3,5 +3,5 @@ */ export interface TokenModel { webcam: string; - screen: string; + screen?: string; }