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.