26 lines
557 B
Rust
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),
|
|
}
|