livekit_client.rs

 1#![allow(clippy::arc_with_non_send_sync)]
 2
 3use std::sync::Arc;
 4
 5#[cfg(all(target_os = "macos", not(any(test, feature = "test-support"))))]
 6pub mod prod;
 7
 8#[cfg(all(target_os = "macos", not(any(test, feature = "test-support"))))]
 9pub use prod::*;
10
11#[cfg(any(test, feature = "test-support", not(target_os = "macos")))]
12pub mod test;
13
14#[cfg(any(test, feature = "test-support", not(target_os = "macos")))]
15pub use test::*;
16
17pub type Sid = String;
18
19#[derive(Clone, Eq, PartialEq)]
20pub enum ConnectionState {
21    Disconnected,
22    Connected { url: String, token: String },
23}
24
25#[derive(Clone)]
26pub enum RoomUpdate {
27    ActiveSpeakersChanged { speakers: Vec<Sid> },
28    RemoteAudioTrackMuteChanged { track_id: Sid, muted: bool },
29    SubscribedToRemoteVideoTrack(Arc<RemoteVideoTrack>),
30    SubscribedToRemoteAudioTrack(Arc<RemoteAudioTrack>, Arc<RemoteTrackPublication>),
31    UnsubscribedFromRemoteVideoTrack { publisher_id: Sid, track_id: Sid },
32    UnsubscribedFromRemoteAudioTrack { publisher_id: Sid, track_id: Sid },
33    LocalAudioTrackPublished { publication: LocalTrackPublication },
34    LocalAudioTrackUnpublished { publication: LocalTrackPublication },
35    LocalVideoTrackPublished { publication: LocalTrackPublication },
36    LocalVideoTrackUnpublished { publication: LocalTrackPublication },
37}