makepad_platform/event/
video_playback.rs

1use std::rc::Rc;
2
3use makepad_shader_compiler::makepad_live_tokenizer::LiveId;
4use crate::TextureId;
5
6#[derive(Clone, Debug)]
7pub struct VideoPlaybackPreparedEvent {
8    pub video_id: LiveId,
9    pub video_width: u32,
10    pub video_height: u32,
11    pub duration: u128,
12}
13
14#[derive(Clone, Debug)]
15pub struct VideoTextureUpdatedEvent {
16    pub video_id: LiveId,
17}
18
19#[derive(Clone, Debug, PartialEq)]
20pub enum VideoSource {
21    InMemory(Rc<Vec<u8>>),
22    Network(String),
23    Filesystem(String)
24}
25
26#[derive(Clone, Debug)]
27pub struct VideoPlaybackCompletedEvent {
28    pub video_id: LiveId
29}
30
31#[derive(Clone, Debug)]
32pub struct VideoPlaybackResourcesReleasedEvent {
33    pub video_id: LiveId
34}
35
36#[derive(Clone, Debug)]
37pub struct VideoDecodingErrorEvent {
38    pub video_id: LiveId,
39    pub error: String,
40}
41
42#[derive(Clone, Debug)]
43pub struct TextureHandleReadyEvent {
44    pub texture_id: TextureId,
45    pub handle: u32, 
46}