pub struct VideoDef {
pub id: String,
pub width: u32,
pub height: u32,
pub fps_num: u32,
pub fps_den: u32,
pub sizes: Vec<u32>,
pub packets: Vec<u8>,
pub keyframes: Vec<u32>,
pub sound: Option<String>,
pub volume: f32,
pub looping: bool,
}Expand description
A compiled video (mymod:intro).
Fields§
§id: String§width: u32The size it’s shown at, pixels; its decoded frames may be bigger (padded up to the encoder’s least), shown from their top-left.
height: u32§fps_num: u32Frames a second, as a fraction (num / den).
fps_den: u32§sizes: Vec<u32>Each frame’s AV1 packet’s size, in order; the packets are packets
one after another.
packets: Vec<u8>§keyframes: Vec<u32>The frames a decoder may start at (ascending; the first is 0).
sound: Option<String>The sound event played with it (none: it’s silent).
volume: f32Its sound’s loudness.
looping: boolIt starts again at its end.
Implementations§
Source§impl VideoDef
impl VideoDef
Sourcepub fn frame_seconds(&self) -> f64
pub fn frame_seconds(&self) -> f64
Seconds a frame shows.
Sourcepub fn keyframe_before(&self, frame: u32) -> u32
pub fn keyframe_before(&self, frame: u32) -> u32
The keyframe at or before frame.
Trait Implementations§
Source§impl Schema for VideoDef
impl Schema for VideoDef
Source§fn encode(&self, __yog_w: &mut Writer)
fn encode(&self, __yog_w: &mut Writer)
Writes itself in the binary form, straight —
Schema::write’s
value encoded, unless the type knows better (derived ones do).Source§fn decode(__yog_d: &mut Decoder<'_>) -> Option<VideoDef>
fn decode(__yog_d: &mut Decoder<'_>) -> Option<VideoDef>
Reads itself from the binary form, straight;
None when it isn’t
what Schema::encode writes — then read_bytes reads the slow
way, which says what’s wrong. Through a value unless the type knows
better (derived ones do).Source§fn pack(&self, __yog_p: &mut Packer)
fn pack(&self, __yog_p: &mut Packer)
Packs itself into a frame (
crate::frame): its binary form as
bytes, unless the type packs itself (derived ones and plain types do).Source§fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<VideoDef>
fn unpack(__yog_u: &mut Unpacker<'_>) -> Option<VideoDef>
Reads itself out of a frame;
None if the bytes aren’t what
Schema::pack writes.Source§fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<VideoDef>
fn read(v: &ValueRef<'_>, cx: &mut Reader<'_>) -> Option<VideoDef>
Reads
v. Problems go to cx at its current path; None when the
value couldn’t be read (the problem is in cx).Source§fn absent() -> Option<Self>
fn absent() -> Option<Self>
The value of a field that isn’t there —
None: the field is required.Source§fn pack_list(items: &[Self], p: &mut Packer)
fn pack_list(items: &[Self], p: &mut Packer)
A list of these packed: a count, then each one (floats raw).
Source§fn encode_list(items: &[Self], w: &mut Writer)
fn encode_list(items: &[Self], w: &mut Writer)
A list of these written straight (numbers pack theirs).
impl StructuralPartialEq for VideoDef
Auto Trait Implementations§
impl Freeze for VideoDef
impl RefUnwindSafe for VideoDef
impl Send for VideoDef
impl Sync for VideoDef
impl Unpin for VideoDef
impl UnsafeUnpin for VideoDef
impl UnwindSafe for VideoDef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Message for Twhere
T: Schema,
impl<T> Message for Twhere
T: Schema,
Source§fn from_bytes(bytes: &[u8]) -> Option<Self>
fn from_bytes(bytes: &[u8]) -> Option<Self>
The message read from a payload;
None if it isn’t one.Source§fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
fn with_bytes<R>(&self, f: impl FnOnce(&[u8]) -> R) -> R
f on the payload, packed in this thread’s reused buffers: nothing
allocated once they’ve grown to the thread’s messages.