diff --git a/src/app/Http/Controllers/API/V4/OpenViduController.php b/src/app/Http/Controllers/API/V4/OpenViduController.php
--- a/src/app/Http/Controllers/API/V4/OpenViduController.php
+++ b/src/app/Http/Controllers/API/V4/OpenViduController.php
@@ -250,6 +250,7 @@
$config = [
'locked' => $room->getSetting('locked') === 'true',
+ 'nomedia' => $room->getSetting('nomedia') === 'true',
'password' => $isOwner ? $password : '',
'requires_password' => !$isOwner && strlen($password),
];
@@ -308,7 +309,7 @@
// Initialize connection tokens
if ($init) {
// Choose the connection role
- $canPublish = !empty(request()->input('canPublish'));
+ $canPublish = empty($config['nomedia']) && !empty(request()->input('canPublish'));
$role = $canPublish ? Room::ROLE_PUBLISHER : Room::ROLE_SUBSCRIBER;
if ($isOwner) {
$role |= Room::ROLE_MODERATOR;
@@ -376,6 +377,10 @@
$input[$key] = $value ? 'true' : null;
break;
+ case 'nomedia':
+ $input[$key] = $value ? 'true' : null;
+ break;
+
default:
$errors[$key] = \trans('meet.room-unsupported-option-error');
}
diff --git a/src/resources/vue/Meet/Room.vue b/src/resources/vue/Meet/Room.vue
--- a/src/resources/vue/Meet/Room.vue
+++ b/src/resources/vue/Meet/Room.vue
@@ -35,8 +35,8 @@
-