pub struct FilterGraph { /* private fields */ }Expand description
A composable filter graph applied to frames between decode and encode.
Operations are applied in the order they were added. Video ops are skipped for audio frames, and vice-versa.
The baseline implementation is a pass-through: an empty FilterGraph
forwards every frame unchanged.
Implementations§
Source§impl FilterGraph
impl FilterGraph
Sourcepub fn add_video_scale(self, width: u32, height: u32) -> Self
pub fn add_video_scale(self, width: u32, height: u32) -> Self
Adds a video scale operation (nearest-neighbour).
Sourcepub fn add_audio_gain_db(self, db: f64) -> Self
pub fn add_audio_gain_db(self, db: f64) -> Self
Adds an audio gain operation (dB).
Sourcepub fn add_hdr_passthrough(self, mode: HdrPassthroughMode) -> Self
pub fn add_hdr_passthrough(self, mode: HdrPassthroughMode) -> Self
Adds an HDR passthrough / conversion operation.
Sourcepub fn apply(&self, frame: Frame) -> Result<Option<Frame>>
pub fn apply(&self, frame: Frame) -> Result<Option<Frame>>
Apply all filter operations to frame.
Returns Ok(Some(frame)) to pass the frame on, or Ok(None) to
drop it (future use — currently never drops).
§Errors
Returns an error if an HDR conversion is unsupported or a filter operation encounters invalid data.
Trait Implementations§
Source§impl Clone for FilterGraph
impl Clone for FilterGraph
Source§fn clone(&self) -> FilterGraph
fn clone(&self) -> FilterGraph
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FilterGraph
impl Debug for FilterGraph
Source§impl Default for FilterGraph
impl Default for FilterGraph
Source§fn default() -> FilterGraph
fn default() -> FilterGraph
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FilterGraph
impl RefUnwindSafe for FilterGraph
impl Send for FilterGraph
impl Sync for FilterGraph
impl Unpin for FilterGraph
impl UnsafeUnpin for FilterGraph
impl UnwindSafe for FilterGraph
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more