pub trait BaseTransformImpl: BaseTransformImplExt + ElementImpl {
const MODE: BaseTransformMode;
const PASSTHROUGH_ON_SAME_CAPS: bool;
const TRANSFORM_IP_ON_PASSTHROUGH: bool;
Show 22 methods
// Provided methods
fn start(&self) -> Result<(), ErrorMessage> { ... }
fn stop(&self) -> Result<(), ErrorMessage> { ... }
fn transform_caps(
&self,
direction: PadDirection,
caps: &Caps,
filter: Option<&Caps>,
) -> Option<Caps> { ... }
fn fixate_caps(
&self,
direction: PadDirection,
caps: &Caps,
othercaps: Caps,
) -> Caps { ... }
fn set_caps(
&self,
incaps: &Caps,
outcaps: &Caps,
) -> Result<(), LoggableError> { ... }
fn accept_caps(&self, direction: PadDirection, caps: &Caps) -> bool { ... }
fn query(&self, direction: PadDirection, query: &mut QueryRef) -> bool { ... }
fn transform_size(
&self,
direction: PadDirection,
caps: &Caps,
size: usize,
othercaps: &Caps,
) -> Option<usize> { ... }
fn unit_size(&self, caps: &Caps) -> Option<usize> { ... }
fn sink_event(&self, event: Event) -> bool { ... }
fn src_event(&self, event: Event) -> bool { ... }
fn prepare_output_buffer(
&self,
inbuf: InputBuffer<'_>,
) -> Result<PrepareOutputBufferSuccess, FlowError> { ... }
fn transform(
&self,
inbuf: &Buffer,
outbuf: &mut BufferRef,
) -> Result<FlowSuccess, FlowError> { ... }
fn transform_ip(
&self,
buf: &mut BufferRef,
) -> Result<FlowSuccess, FlowError> { ... }
fn transform_ip_passthrough(
&self,
buf: &Buffer,
) -> Result<FlowSuccess, FlowError> { ... }
fn propose_allocation(
&self,
decide_query: Option<&Allocation>,
query: &mut Allocation,
) -> Result<(), LoggableError> { ... }
fn decide_allocation(
&self,
query: &mut Allocation,
) -> Result<(), LoggableError> { ... }
fn copy_metadata(
&self,
inbuf: &BufferRef,
outbuf: &mut BufferRef,
) -> Result<(), LoggableError> { ... }
fn transform_meta<'a>(
&self,
outbuf: &mut BufferRef,
meta: MetaRef<'a, Meta>,
inbuf: &'a BufferRef,
) -> bool { ... }
fn before_transform(&self, inbuf: &BufferRef) { ... }
fn submit_input_buffer(
&self,
is_discont: bool,
inbuf: Buffer,
) -> Result<FlowSuccess, FlowError> { ... }
fn generate_output(&self) -> Result<GenerateOutputSuccess, FlowError> { ... }
}
Required Associated Constants§
const MODE: BaseTransformMode
const PASSTHROUGH_ON_SAME_CAPS: bool
const TRANSFORM_IP_ON_PASSTHROUGH: bool
Provided Methods§
fn start(&self) -> Result<(), ErrorMessage>
fn stop(&self) -> Result<(), ErrorMessage>
fn transform_caps( &self, direction: PadDirection, caps: &Caps, filter: Option<&Caps>, ) -> Option<Caps>
fn fixate_caps( &self, direction: PadDirection, caps: &Caps, othercaps: Caps, ) -> Caps
fn set_caps(&self, incaps: &Caps, outcaps: &Caps) -> Result<(), LoggableError>
fn accept_caps(&self, direction: PadDirection, caps: &Caps) -> bool
fn query(&self, direction: PadDirection, query: &mut QueryRef) -> bool
fn transform_size( &self, direction: PadDirection, caps: &Caps, size: usize, othercaps: &Caps, ) -> Option<usize>
fn unit_size(&self, caps: &Caps) -> Option<usize>
fn sink_event(&self, event: Event) -> bool
fn src_event(&self, event: Event) -> bool
fn prepare_output_buffer( &self, inbuf: InputBuffer<'_>, ) -> Result<PrepareOutputBufferSuccess, FlowError>
fn transform( &self, inbuf: &Buffer, outbuf: &mut BufferRef, ) -> Result<FlowSuccess, FlowError>
fn transform_ip(&self, buf: &mut BufferRef) -> Result<FlowSuccess, FlowError>
fn transform_ip_passthrough( &self, buf: &Buffer, ) -> Result<FlowSuccess, FlowError>
fn propose_allocation( &self, decide_query: Option<&Allocation>, query: &mut Allocation, ) -> Result<(), LoggableError>
fn decide_allocation(&self, query: &mut Allocation) -> Result<(), LoggableError>
fn copy_metadata( &self, inbuf: &BufferRef, outbuf: &mut BufferRef, ) -> Result<(), LoggableError>
fn transform_meta<'a>( &self, outbuf: &mut BufferRef, meta: MetaRef<'a, Meta>, inbuf: &'a BufferRef, ) -> bool
fn before_transform(&self, inbuf: &BufferRef)
fn submit_input_buffer( &self, is_discont: bool, inbuf: Buffer, ) -> Result<FlowSuccess, FlowError>
fn generate_output(&self) -> Result<GenerateOutputSuccess, FlowError>
Object Safety§
This trait is not object safe.