diff --git a/crates/call/src/room.rs b/crates/call/src/room.rs index b673a0a874d3bd1ee0c0e69cf9b52663e3647d7c..a2ef65915625842eb4b705f64392ccab3182e7bb 100644 --- a/crates/call/src/room.rs +++ b/crates/call/src/room.rs @@ -1000,6 +1000,22 @@ impl Room { }) } + pub fn is_muted(&self) -> Option { + self.live_kit.as_ref().and_then(|live_kit| { + match &live_kit.microphone_track { + LocalTrack::None => None, + LocalTrack::Pending { muted, .. } => Some(*muted), + LocalTrack::Published { muted, .. } => Some(*muted), + } + }) + } + + pub fn is_deafened(&self) -> Option { + self.live_kit.as_ref().map(|live_kit| { + live_kit.deafened + }) + } + pub fn share_mic(&mut self, cx: &mut ModelContext) -> Task> { if self.status.is_offline() { return Task::ready(Err(anyhow!("room is offline")));