feat(models): add SessionStartResponse and TrackFileUrl types

New response models for the CMAF streaming API endpoints
(session/start and file/url).

cc
This commit is contained in:
vicrodh committed 2026-04-06 13:15:54 -06:00
1 parent b3a9069712
commit 8133931df5
1 file changed
+44
+44
View File
@@ -116,6 +116,50 @@ pub struct StreamRestriction {
pub code: String,
}
// ============ CMAF Stream Types ============
/// Response from POST /api.json/0.2/session/start
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionStartResponse {
pub session_id: String,
pub expires_at: u64,
#[serde(default)]
pub infos: Option<String>,
}
/// Response from GET /api.json/0.2/file/url (CMAF segmented streaming)
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TrackFileUrl {
#[serde(default)]
pub url_template: Option<String>,
#[serde(default)]
pub url: Option<String>,
#[serde(default)]
pub mime_type: Option<String>,
#[serde(default)]
pub n_segments: u8,
#[serde(default)]
pub key_id: Option<String>,
#[serde(default)]
pub key: Option<String>,
#[serde(default)]
pub sampling_rate: Option<u32>,
#[serde(default)]
pub bit_depth: Option<u32>,
#[serde(default)]
pub bits_depth: Option<u32>,
#[serde(default)]
pub duration: Option<f64>,
#[serde(default)]
pub n_samples: Option<u64>,
#[serde(default)]
pub format_id: Option<u32>,
#[serde(default)]
pub track_id: Option<u64>,
#[serde(default)]
pub restrictions: Vec<StreamRestriction>,
}
// ============ Image Types ============
/// Image set with multiple resolutions