pub trait Filterwhere
    Self: Sized + RefUnwindSafe,{
    type Error: AsRef<CStr>;
    type FrameType: Frame;
    type FilterData;

    const NAME: &'static CStr;
    const ARGS: &'static CStr;
    const RETURN_TYPE: &'static CStr;
    const FILTER_MODE: FilterMode = FilterMode::Parallel;

    // Required methods
    fn create(
        input: MapRef<'_>,
        output: MapMut<'_>,
        data: Option<Box<Self::FilterData>>,
        core: CoreRef<'_>
    ) -> Result<(), Self::Error>;
    fn get_frame(
        &self,
        n: i32,
        activation_reason: VSActivationReason,
        frame_data: *mut *mut c_void,
        frame_ctx: FrameContext,
        core: CoreRef<'_>
    ) -> Result<Option<Self::FrameType>, Self::Error>;

    // Provided method
    fn free(self, _core: CoreRef<'_>) { ... }
}

Required Associated Types§

source

type Error: AsRef<CStr>

Filter error that can turned into a &CStr

source

type FrameType: Frame

source

type FilterData

Required Associated Constants§

source

const NAME: &'static CStr

source

const ARGS: &'static CStr

source

const RETURN_TYPE: &'static CStr

Provided Associated Constants§

source

const FILTER_MODE: FilterMode = FilterMode::Parallel

Required Methods§

source

fn create( input: MapRef<'_>, output: MapMut<'_>, data: Option<Box<Self::FilterData>>, core: CoreRef<'_> ) -> Result<(), Self::Error>

Errors

Return Self::Error if anything happens during the filter creation. The error message will be passed to VapourSynth.

source

fn get_frame( &self, n: i32, activation_reason: VSActivationReason, frame_data: *mut *mut c_void, frame_ctx: FrameContext, core: CoreRef<'_> ) -> Result<Option<Self::FrameType>, Self::Error>

Errors

Return Self::Error if anything happens during the filter creation. The error message will be passed to VapourSynth.

Provided Methods§

source

fn free(self, _core: CoreRef<'_>)

Implementors§