From 3ec0b0d4d777f20780efa8b5813048491fdc715b Mon Sep 17 00:00:00 2001 From: Mihail Date: Mon, 11 May 2020 11:23:16 +0200 Subject: [PATCH 1/2] enable screen sharing on Safari version >= 13 --- openvidu-browser/src/OpenVidu/OpenVidu.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openvidu-browser/src/OpenVidu/OpenVidu.ts b/openvidu-browser/src/OpenVidu/OpenVidu.ts index 8d44515e..9f647014 100644 --- a/openvidu-browser/src/OpenVidu/OpenVidu.ts +++ b/openvidu-browser/src/OpenVidu/OpenVidu.ts @@ -366,6 +366,7 @@ export class OpenVidu { */ checkScreenSharingCapabilities(): number { const browser = platform.name; + const version = platform.version; const family = platform.os!!.family; // Reject mobile devices @@ -373,7 +374,8 @@ export class OpenVidu { return 0; } - if ((browser !== 'Chrome') && (browser !== 'Firefox') && (browser !== 'Opera') && (browser !== 'Electron')) { + if ((browser !== 'Chrome') && (browser !== 'Firefox') && (browser !== 'Opera') && (browser !== 'Electron') && + ((browser !== 'Safari') || ((browser === 'Safari') && ((typeof version === 'undefined') || (parseInt(version, 10) < 13))))) { return 0; } else { return 1; @@ -758,7 +760,7 @@ export class OpenVidu { // Screen sharing if (!this.checkScreenSharingCapabilities()) { - const error = new OpenViduError(OpenViduErrorName.SCREEN_SHARING_NOT_SUPPORTED, 'You can only screen share in desktop Chrome, Firefox, Opera or Electron. Detected client: ' + platform.name); + const error = new OpenViduError(OpenViduErrorName.SCREEN_SHARING_NOT_SUPPORTED, 'You can only screen share in desktop Chrome, Firefox, Opera, Safari (>=13.0) or Electron. Detected client: ' + platform.name); logger.error(error); reject(error); } else { @@ -812,7 +814,7 @@ export class OpenVidu { } else { if (navigator.mediaDevices['getDisplayMedia']) { - // getDisplayMedia support (Chrome >= 72, Firefox >= 66) + // getDisplayMedia support (Chrome >= 72, Firefox >= 66, Safari >= 13) resolve(myConstraints); } else { // Default screen sharing extension for Chrome/Opera, or is Firefox < 66 From 9ef0afeca571dbd492a5f2263e4458a3f245035c Mon Sep 17 00:00:00 2001 From: CSantos <4a.santos@gmail.com> Date: Fri, 15 May 2020 11:09:06 +0200 Subject: [PATCH 2/2] openvidu-browser: Updated Safari screenShare requirements --- openvidu-browser/src/OpenVidu/OpenVidu.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openvidu-browser/src/OpenVidu/OpenVidu.ts b/openvidu-browser/src/OpenVidu/OpenVidu.ts index 9f647014..f2ccadf8 100644 --- a/openvidu-browser/src/OpenVidu/OpenVidu.ts +++ b/openvidu-browser/src/OpenVidu/OpenVidu.ts @@ -366,7 +366,7 @@ export class OpenVidu { */ checkScreenSharingCapabilities(): number { const browser = platform.name; - const version = platform.version; + const version = platform?.version ? parseFloat(platform.version) : -1; const family = platform.os!!.family; // Reject mobile devices @@ -375,7 +375,7 @@ export class OpenVidu { } if ((browser !== 'Chrome') && (browser !== 'Firefox') && (browser !== 'Opera') && (browser !== 'Electron') && - ((browser !== 'Safari') || ((browser === 'Safari') && ((typeof version === 'undefined') || (parseInt(version, 10) < 13))))) { + (browser === 'Safari' && version < 13)) { return 0; } else { return 1;