You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2021/06/28 04:15:14 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2587] screen-sharing is Safari should work

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 39cefe2  [OPENMEETINGS-2587] screen-sharing is Safari should work
39cefe2 is described below

commit 39cefe25629d0644013124c66ce45e9dd540311f
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Mon Jun 28 11:15:01 2021 +0700

    [OPENMEETINGS-2587] screen-sharing is Safari should work
---
 openmeetings-web/src/main/front/room/src/sharer.js         | 3 ++-
 openmeetings-web/src/main/front/room/src/video.js          | 8 +++++++-
 openmeetings-web/src/main/front/settings/src/video-util.js | 7 ++++---
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/openmeetings-web/src/main/front/room/src/sharer.js b/openmeetings-web/src/main/front/room/src/sharer.js
index 827ac28..6826571 100644
--- a/openmeetings-web/src/main/front/room/src/sharer.js
+++ b/openmeetings-web/src/main/front/room/src/sharer.js
@@ -19,7 +19,8 @@ function reset() {
 function _init() {
 	reset();
 	sharer = $('#sharer').dialog({
-		classes: {
+		appendTo: '.room-block .room-container'
+		, classes: {
 			'ui-dialog': 'sharer'
 			, 'ui-dialog-titlebar': ''
 		}
diff --git a/openmeetings-web/src/main/front/room/src/video.js b/openmeetings-web/src/main/front/room/src/video.js
index fb146d9..709e9f8 100644
--- a/openmeetings-web/src/main/front/room/src/video.js
+++ b/openmeetings-web/src/main/front/room/src/video.js
@@ -51,7 +51,13 @@ module.exports = class Video {
 				cnts = {
 					video: true
 				};
-				promise = navigator.mediaDevices.getDisplayMedia(cnts);
+				if (OmUtil.isSafari()) {
+					promise = new Promise((resolve) => {
+						VideoUtil.askPermission(resolve);
+					}).then(() => navigator.mediaDevices.getDisplayMedia(cnts));
+				} else {
+					promise = navigator.mediaDevices.getDisplayMedia(cnts);
+				}
 			} else {
 				promise = new Promise(() => {
 					Sharer.close();
diff --git a/openmeetings-web/src/main/front/settings/src/video-util.js b/openmeetings-web/src/main/front/settings/src/video-util.js
index 3f06aa6..6fa3343 100644
--- a/openmeetings-web/src/main/front/settings/src/video-util.js
+++ b/openmeetings-web/src/main/front/settings/src/video-util.js
@@ -240,7 +240,7 @@ function _askPermission(callback) {
 		perm.data('callbacks', []).dialog({
 			appendTo: '.room-block .room-container'
 			, dialogClass: "ask-video-play-permission"
-			, autoOpen: true
+			, autoOpen: false
 			, buttons: [
 				{
 					text: perm.data('btn-ok')
@@ -253,8 +253,9 @@ function _askPermission(callback) {
 				}
 			]
 		});
-	} else if (!perm.dialog('isOpen')) {
-		perm.dialog('open')
+	}
+	if (!perm.dialog('isOpen')) {
+		perm.dialog('open');
 	}
 	perm.data('callbacks').push(callback);
 }