Skip to main content

ac_rustube/video_info/player_response/
mod.rs

1use std::sync::Arc;
2
3use serde::{Deserialize, Serialize};
4
5#[cfg(feature = "microformat")]
6use microformat::Microformat;
7use playability_status::PlayabilityStatus;
8use streaming_data::StreamingData;
9use video_details::VideoDetails;
10
11pub mod video_details;
12pub mod streaming_data;
13pub mod playability_status;
14#[cfg(feature = "microformat")]
15pub mod microformat;
16
17
18#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)]
19#[serde(rename_all = "camelCase")]
20pub struct PlayerResponse {
21    pub assets: Option<Assets>,
22    // todo:
23    // attestation: _,
24    // auxiliaryUi: _,
25    // captions: _,
26    // cards: _,
27    // endscreen: _,
28    // messages: _,
29    #[cfg(feature = "microformat")]
30    pub microformat: Option<Microformat>,
31    pub playability_status: PlayabilityStatus,
32    // playbackTracking: _,
33    // playerConfig: _,
34    // response_context: ResponseContext,
35    // storyboards: _,
36    pub streaming_data: Option<StreamingData>,
37    pub video_details: Arc<VideoDetails>,
38    pub tracking_params: String,
39}
40
41#[derive(
42Clone, Default, Debug, derive_more::Display,
43Deserialize, Serialize, PartialEq, Eq, PartialOrd, Ord, Hash
44)]
45pub struct Assets {
46    pub js: String
47}