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: MapRef<'_>,
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 Constants§
const NAME: &'static CStr
const ARGS: &'static CStr
const RETURN_TYPE: &'static CStr
Provided Associated Constants§
const FILTER_MODE: FilterMode = FilterMode::Parallel
Required Associated Types§
type FrameType: Frame
type FilterData
Required Methods§
Sourcefn create(
input: MapRef<'_>,
output: MapRef<'_>,
data: Option<Box<Self::FilterData>>,
core: CoreRef<'_>,
) -> Result<(), Self::Error>
fn create( input: MapRef<'_>, output: MapRef<'_>, 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.
Sourcefn 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>
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§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.