watch-party-2-old/src/sources.rs

26 lines
557 B
Rust

use serde::{Deserialize, Serialize};
use uuid::Uuid;
#[derive(Serialize, Deserialize)]
pub struct DirectMediaSource {
pub video_url: String,
pub tracks: Vec<DirectMediaTrack>,
}
#[derive(Serialize, Deserialize)]
pub struct DirectMediaTrack {
pub name: String,
pub url: String,
}
#[derive(Serialize, Deserialize)]
pub struct YouTubeMediaSource {
pub video_id: String,
}
#[derive(Serialize, Deserialize)]
#[serde(tag = "type", content = "data")]
pub enum MediaSource {
Direct(DirectMediaSource),
YouTube(YouTubeMediaSource),
}