Skip to main content

cdp_protocol/
media.rs

1// Auto-generated from Chrome at version 146.0.7680.165 domain: Media
2#![allow(dead_code)]
3use super::dom;
4#[allow(unused_imports)]
5use super::types::*;
6#[allow(unused_imports)]
7use derive_builder::Builder;
8#[allow(unused_imports)]
9use serde::{Deserialize, Serialize};
10#[allow(unused_imports)]
11use serde_json::Value as Json;
12pub type PlayerId = String;
13pub type Timestamp = JsFloat;
14#[allow(deprecated)]
15#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
16pub enum PlayerMessageLevel {
17    #[serde(rename = "error")]
18    Error,
19    #[serde(rename = "warning")]
20    Warning,
21    #[serde(rename = "info")]
22    Info,
23    #[serde(rename = "debug")]
24    Debug,
25}
26#[allow(deprecated)]
27#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
28#[builder(setter(into, strip_option))]
29#[serde(rename_all = "camelCase")]
30#[doc = "Have one type per entry in MediaLogRecord::Type\n Corresponds to kMessage"]
31pub struct PlayerMessage {
32    #[doc = "Keep in sync with MediaLogMessageLevel\n We are currently keeping the message level 'error' separate from the\n PlayerError type because right now they represent different things,\n this one being a DVLOG(ERROR) style log message that gets printed\n based on what log level is selected in the UI, and the other is a\n representation of a media::PipelineStatus object. Soon however we're\n going to be moving away from using PipelineStatus for errors and\n introducing a new error type which should hopefully let us integrate\n the error log level into the PlayerError type."]
33    pub level: PlayerMessageLevel,
34    #[serde(default)]
35    pub message: String,
36}
37#[allow(deprecated)]
38#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
39#[builder(setter(into, strip_option))]
40#[serde(rename_all = "camelCase")]
41#[doc = "Corresponds to kMediaPropertyChange"]
42pub struct PlayerProperty {
43    #[serde(default)]
44    pub name: String,
45    #[serde(default)]
46    pub value: String,
47}
48#[allow(deprecated)]
49#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
50#[builder(setter(into, strip_option))]
51#[serde(rename_all = "camelCase")]
52#[doc = "Corresponds to kMediaEventTriggered"]
53pub struct PlayerEvent {
54    pub timestamp: Timestamp,
55    #[serde(default)]
56    pub value: String,
57}
58#[allow(deprecated)]
59#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
60#[builder(setter(into, strip_option))]
61#[serde(rename_all = "camelCase")]
62#[doc = "Represents logged source line numbers reported in an error.\n NOTE: file and line are from chromium c++ implementation code, not js."]
63pub struct PlayerErrorSourceLocation {
64    #[serde(default)]
65    pub file: String,
66    #[serde(default)]
67    pub line: JsUInt,
68}
69#[allow(deprecated)]
70#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
71#[builder(setter(into, strip_option))]
72#[serde(rename_all = "camelCase")]
73#[doc = "Corresponds to kMediaError"]
74pub struct PlayerError {
75    #[serde(default)]
76    pub error_type: String,
77    #[serde(default)]
78    #[doc = "Code is the numeric enum entry for a specific set of error codes, such\n as PipelineStatusCodes in media/base/pipeline_status.h"]
79    pub code: JsUInt,
80    #[doc = "A trace of where this error was caused / where it passed through."]
81    pub stack: Vec<PlayerErrorSourceLocation>,
82    #[doc = "Errors potentially have a root cause error, ie, a DecoderError might be\n caused by an WindowsError"]
83    pub cause: Vec<PlayerError>,
84    #[serde(default)]
85    #[doc = "Extra data attached to an error, such as an HRESULT, Video Codec, etc."]
86    pub data: Json,
87}
88#[allow(deprecated)]
89#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
90#[builder(setter(into, strip_option))]
91#[serde(rename_all = "camelCase")]
92pub struct Player {
93    pub player_id: PlayerId,
94    #[builder(default)]
95    #[serde(skip_serializing_if = "Option::is_none")]
96    pub dom_node_id: Option<dom::BackendNodeId>,
97}
98#[allow(deprecated)]
99#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
100pub struct Enable(pub Option<Json>);
101#[allow(deprecated)]
102#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
103pub struct Disable(pub Option<Json>);
104#[allow(deprecated)]
105#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
106#[doc = "Enables the Media domain"]
107pub struct EnableReturnObject(pub Option<Json>);
108#[allow(deprecated)]
109#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
110#[doc = "Disables the Media domain."]
111pub struct DisableReturnObject(pub Option<Json>);
112#[allow(deprecated)]
113impl Method for Enable {
114    const NAME: &'static str = "Media.enable";
115    type ReturnObject = EnableReturnObject;
116}
117#[allow(deprecated)]
118impl Method for Disable {
119    const NAME: &'static str = "Media.disable";
120    type ReturnObject = DisableReturnObject;
121}
122#[allow(dead_code)]
123pub mod events {
124    #[allow(unused_imports)]
125    use super::super::types::*;
126    #[allow(unused_imports)]
127    use derive_builder::Builder;
128    #[allow(unused_imports)]
129    use serde::{Deserialize, Serialize};
130    #[allow(unused_imports)]
131    use serde_json::Value as Json;
132    #[allow(deprecated)]
133    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
134    pub struct PlayerPropertiesChangedEvent {
135        pub params: PlayerPropertiesChangedEventParams,
136    }
137    #[allow(deprecated)]
138    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
139    #[serde(rename_all = "camelCase")]
140    pub struct PlayerPropertiesChangedEventParams {
141        pub player_id: super::PlayerId,
142        pub properties: Vec<super::PlayerProperty>,
143    }
144    #[allow(deprecated)]
145    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
146    pub struct PlayerEventsAddedEvent {
147        pub params: PlayerEventsAddedEventParams,
148    }
149    #[allow(deprecated)]
150    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
151    #[serde(rename_all = "camelCase")]
152    pub struct PlayerEventsAddedEventParams {
153        pub player_id: super::PlayerId,
154        pub events: Vec<super::PlayerEvent>,
155    }
156    #[allow(deprecated)]
157    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
158    pub struct PlayerMessagesLoggedEvent {
159        pub params: PlayerMessagesLoggedEventParams,
160    }
161    #[allow(deprecated)]
162    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
163    #[serde(rename_all = "camelCase")]
164    pub struct PlayerMessagesLoggedEventParams {
165        pub player_id: super::PlayerId,
166        pub messages: Vec<super::PlayerMessage>,
167    }
168    #[allow(deprecated)]
169    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
170    pub struct PlayerErrorsRaisedEvent {
171        pub params: PlayerErrorsRaisedEventParams,
172    }
173    #[allow(deprecated)]
174    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
175    #[serde(rename_all = "camelCase")]
176    pub struct PlayerErrorsRaisedEventParams {
177        pub player_id: super::PlayerId,
178        pub errors: Vec<super::PlayerError>,
179    }
180    #[allow(deprecated)]
181    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
182    pub struct PlayerCreatedEvent {
183        pub params: PlayerCreatedEventParams,
184    }
185    #[allow(deprecated)]
186    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Builder)]
187    #[serde(rename_all = "camelCase")]
188    pub struct PlayerCreatedEventParams {
189        pub player: super::Player,
190    }
191}