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 @@ -