live_kit_client.rs

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