Skip to repository content57 lines · 1.3 KB · rust
tenant.openagents/omega
No repository description is available.
OpenAgents Git authority 2026-07-28T06:09:51.811Z Public web read
NIP-34 coordinate
30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omegaMaintainersHidden in public view
References2 branches · 1 tag
Read-only clone
git clone https://openagents.com/git/tenant.openagents/omega.gitBrowse files
track.rs
1use std::sync::Arc;
2
3use crate::{
4 ParticipantIdentity, TrackSid,
5 test::{TestServerAudioTrack, TestServerVideoTrack, WeakRoom},
6};
7
8#[derive(Clone, Debug)]
9pub struct LocalVideoTrack {}
10
11#[derive(Clone, Debug)]
12pub struct LocalAudioTrack {}
13
14#[derive(Clone, Debug)]
15pub struct RemoteVideoTrack {
16 pub(crate) server_track: Arc<TestServerVideoTrack>,
17 pub(crate) _room: WeakRoom,
18}
19
20#[derive(Clone, Debug)]
21pub struct RemoteAudioTrack {
22 pub(crate) server_track: Arc<TestServerAudioTrack>,
23 pub(crate) room: WeakRoom,
24}
25
26impl RemoteAudioTrack {
27 pub fn sid(&self) -> TrackSid {
28 self.server_track.sid.clone()
29 }
30
31 pub fn publisher_id(&self) -> ParticipantIdentity {
32 self.server_track.publisher_id.clone()
33 }
34
35 pub fn enabled(&self) -> bool {
36 if let Some(room) = self.room.upgrade() {
37 !room
38 .0
39 .lock()
40 .paused_audio_tracks
41 .contains(&self.server_track.sid)
42 } else {
43 false
44 }
45 }
46}
47
48impl RemoteVideoTrack {
49 pub fn sid(&self) -> TrackSid {
50 self.server_track.sid.clone()
51 }
52
53 pub fn publisher_id(&self) -> ParticipantIdentity {
54 self.server_track.publisher_id.clone()
55 }
56}
57