diff --git a/app/src/Room.js b/app/src/Room.js
index 402dda3f..bb7ed977 100644
--- a/app/src/Room.js
+++ b/app/src/Room.js
@@ -47,6 +47,7 @@ module.exports = class Room {
screen_cant_share: false,
chat_cant_privately: false,
chat_cant_chatgpt: false,
+ media_cant_sharing: false,
};
this.survey = config.survey;
this.redirect = config.redirect;
@@ -464,6 +465,9 @@ module.exports = class Room {
case 'chat_cant_chatgpt':
this._moderator.chat_cant_chatgpt = data.status;
break;
+ case 'media_cant_sharing':
+ this._moderator.media_cant_sharing = data.status;
+ break;
default:
break;
}
diff --git a/app/src/Server.js b/app/src/Server.js
index 6eed9895..7d98c357 100644
--- a/app/src/Server.js
+++ b/app/src/Server.js
@@ -55,7 +55,7 @@ dev dependencies: {
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
- * @version 1.6.29
+ * @version 1.6.30
*
*/
@@ -2003,6 +2003,7 @@ function startServer() {
case 'screen_cant_share':
case 'chat_cant_privately':
case 'chat_cant_chatgpt':
+ case 'media_cant_sharing':
room.broadCast(socket.id, 'updateRoomModerator', moderator);
break;
default:
diff --git a/package.json b/package.json
index 7a7e07d6..f02ec29b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mirotalksfu",
- "version": "1.6.29",
+ "version": "1.6.30",
"description": "WebRTC SFU browser-based video calls",
"main": "Server.js",
"scripts": {
diff --git a/public/js/LocalStorage.js b/public/js/LocalStorage.js
index 5227d36f..e3eab952 100644
--- a/public/js/LocalStorage.js
+++ b/public/js/LocalStorage.js
@@ -28,6 +28,7 @@ class LocalStorage {
moderator_screen_cant_share: false, // Everyone can't share screen
moderator_chat_cant_privately: false, // Everyone can't chat privately, only Public chat allowed
moderator_chat_cant_chatgpt: false, // Everyone can't chat with ChatGPT
+ moderator_media_cant_sharing: false, // Everyone can't share media
moderator_disconnect_all_on_leave: false, // Disconnect all participants on leave room
mic_auto_gain_control: false,
mic_echo_cancellations: true,
diff --git a/public/js/Room.js b/public/js/Room.js
index 422e54ad..6aecd7dc 100644
--- a/public/js/Room.js
+++ b/public/js/Room.js
@@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
- * @version 1.6.29
+ * @version 1.6.30
*
*/
@@ -1952,6 +1952,9 @@ function handleButtons() {
rc.shareVideo('all');
};
videoCloseBtn.onclick = () => {
+ if (rc._moderator.media_cant_sharing) {
+ return userLog('warning', 'The moderator does not allow you close this media', 'top-end', 6000);
+ }
rc.closeVideo(true);
};
sendAbortBtn.onclick = () => {
@@ -2658,6 +2661,14 @@ function handleSelects() {
lS.setSettings(localStorageSettings);
e.target.blur();
};
+ switchEveryoneCantMediaSharing.onchange = (e) => {
+ const mediaCantSharing = e.currentTarget.checked;
+ rc.updateRoomModerator({ type: 'media_cant_sharing', status: mediaCantSharing });
+ rc.roomMessage('media_cant_sharing', mediaCantSharing);
+ localStorageSettings.moderator_media_cant_sharing = mediaCantSharing;
+ lS.setSettings(localStorageSettings);
+ e.target.blur();
+ };
switchDisconnectAllOnLeave.onchange = (e) => {
const disconnectAll = e.currentTarget.checked;
rc.roomMessage('disconnect_all_on_leave', disconnectAll);
@@ -4603,7 +4614,7 @@ function showAbout() {
imageUrl: image.about,
customClass: { image: 'img-about' },
position: 'center',
- title: 'WebRTC SFU v1.6.29',
+ title: 'WebRTC SFU v1.6.30',
html: `
Disable Media Sharing
+Share a Video or Audio