Skip to main content

LavfiSource

Struct LavfiSource 

Source
pub struct LavfiSource { /* private fields */ }
Expand description

Generates video frames from an FFmpeg lavfi filtergraph string (e.g. color=s=1920x1080:c=black@0.0,drawtext=text='Title'), so a host such as the preview runner can feed a timeline-level generated overlay into a RealtimeComposer as pushed frames.

The output is rgba and preserves the graph’s own alpha (no canvas is composited underneath), matching the export path’s topmost lavfi layer. Frames are produced sequentially via pull; the source exposes no seek, so a host that seeks rebuilds it from scratch.

Implementations§

Source§

impl LavfiSource

Source

pub fn new(lavfi: &str) -> Result<Self, FilterError>

Builds a source from a lavfi filtergraph string.

§Errors

Returns FilterError when the underlying FFmpeg graph cannot be built (e.g. the movie / lavfi demuxer is unavailable, or the string is invalid).

Source

pub fn pull(&mut self) -> Result<Option<VideoFrame>, FilterError>

Pulls the next generated frame (rgba), or None when none is buffered yet or at end-of-stream.

§Errors

Returns FilterError on an unexpected FFmpeg error.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.