Skip to main content

SceneSource

Trait SceneSource 

Source
pub trait SceneSource {
    // Required methods
    fn format(&self) -> SourceFormat;
    fn pull(&mut self) -> Result<Option<RenderedFrame>>;
}
Expand description

Pull-based source of rendered frames.

Implementors typically wrap a Scene + SceneRenderer and advance an internal frame counter per pull(). The first call after prepare emits frame 0 at timestamp 0; each subsequent call advances by 1 / framerate.

Sources are not required to be seekable — a streaming compositor source is forward-only. Sources that can seek should expose it via an inherent method, not this trait.

Required Methods§

Source

fn format(&self) -> SourceFormat

Declared format. Constant across a session.

Source

fn pull(&mut self) -> Result<Option<RenderedFrame>>

Produce the next rendered tick. Returns Ok(None) when the source is exhausted (finite scene reached its end). For indefinite sources, this never returns None.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§