diff --git a/crates/opentalk-signaling-module-livekit/src/lib.rs b/crates/opentalk-signaling-module-livekit/src/lib.rs index 1c0ca42810cc50b020193a881eac66eb1070a521..e8748d4e9a8e59b45299ca4213d5832e6b213c3d 100644 --- a/crates/opentalk-signaling-module-livekit/src/lib.rs +++ b/crates/opentalk-signaling-module-livekit/src/lib.rs @@ -570,12 +570,14 @@ impl Livekit { .screen_share_requires_permission; let mut available_sources = LIVEKIT_MEDIA_SOURCES.to_vec(); - if let MicrophoneRestrictionState::Enabled { - unrestricted_participants, - } = µphone_restriction_state - { - if !unrestricted_participants.contains(&self.participant_id) { - available_sources.retain(|s| s != &TrackSource::Microphone); + if !self.role.is_moderator() { + if let MicrophoneRestrictionState::Enabled { + unrestricted_participants, + } = µphone_restriction_state + { + if !unrestricted_participants.contains(&self.participant_id) { + available_sources.retain(|s| s != &TrackSource::Microphone); + } } }