use serde::{Deserialize, Serialize};
use time::Duration;
#[derive(Clone, Debug, Default, Deserialize, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize)]
pub struct RecordStatus {
#[serde(rename = "outputActive")]
pub active: bool,
#[serde(rename = "outputPaused")]
pub paused: bool,
#[serde(rename = "outputTimecode", with = "crate::serde::duration_timecode")]
pub timecode: Duration,
#[serde(rename = "outputDuration", with = "crate::serde::duration_millis")]
pub duration: Duration,
#[serde(rename = "outputBytes")]
pub bytes: u64,
}
#[derive(Debug, Deserialize)]
pub(crate) struct OutputActive {
#[serde(rename = "outputActive")]
pub active: bool,
}
#[derive(Debug, Deserialize)]
pub(crate) struct OutputStopped {
#[serde(rename = "outputPath")]
pub path: String,
}
#[derive(Debug, Deserialize)]
pub(crate) struct OutputPaused {
#[serde(rename = "outputPaused")]
pub paused: bool,
}