use serde::{Deserialize, Serialize};
use std::time::Duration;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LlDashConfig {
pub enabled: bool,
pub chunk_duration: Duration,
pub enable_chunked_encoding: bool,
pub enable_chunked_transfer: bool,
pub enable_availability_time_offset: bool,
pub availability_time_offset: Duration,
pub enable_resync: bool,
}
impl Default for LlDashConfig {
fn default() -> Self {
Self {
enabled: true,
chunk_duration: Duration::from_millis(500),
enable_chunked_encoding: true,
enable_chunked_transfer: true,
enable_availability_time_offset: true,
availability_time_offset: Duration::from_secs(1),
enable_resync: true,
}
}
}
#[derive(Debug, Clone)]
pub struct Chunk {
pub sequence: u64,
pub duration: Duration,
pub uri: String,
pub size: usize,
}
impl Chunk {
#[must_use]
pub fn new(sequence: u64, duration: Duration, uri: impl Into<String>, size: usize) -> Self {
Self {
sequence,
duration,
uri: uri.into(),
size,
}
}
}