2025-10-30 08:54:47 +01:00
|
|
|
use std::sync::Arc;
|
2025-11-02 15:06:27 +01:00
|
|
|
use tokio::sync::RwLock;
|
2025-10-30 08:54:47 +01:00
|
|
|
|
|
|
|
|
use pmometadata::TrackMetadata;
|
|
|
|
|
|
2026-04-04 14:37:11 +02:00
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
|
|
|
pub enum StreamType {
|
|
|
|
|
Continuous,
|
|
|
|
|
Finite,
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-30 08:54:47 +01:00
|
|
|
pub enum SyncMarker {
|
2025-11-14 10:43:53 +01:00
|
|
|
TrackBoundary {
|
|
|
|
|
metadata: Arc<RwLock<dyn TrackMetadata>>,
|
2026-04-04 14:37:11 +02:00
|
|
|
stream_type: StreamType,
|
2025-11-14 10:43:53 +01:00
|
|
|
},
|
|
|
|
|
StreamMetadata {
|
|
|
|
|
key: String,
|
|
|
|
|
value: String,
|
|
|
|
|
},
|
2025-10-30 08:54:47 +01:00
|
|
|
TopZeroSync,
|
|
|
|
|
Heartbeat,
|
|
|
|
|
EndOfStream,
|
|
|
|
|
Error(String),
|
|
|
|
|
}
|