gstreamer_base::subclass::prelude

Trait BaseParseImpl

Source
pub trait BaseParseImpl: ElementImpl + ObjectSubclass<Type: IsA<BaseParse>> {
    // Provided methods
    fn start(&self) -> Result<(), ErrorMessage> { ... }
    fn stop(&self) -> Result<(), ErrorMessage> { ... }
    fn set_sink_caps(&self, caps: &Caps) -> Result<(), LoggableError> { ... }
    fn handle_frame(
        &self,
        frame: BaseParseFrame<'_>,
    ) -> Result<(FlowSuccess, u32), FlowError> { ... }
    fn convert(
        &self,
        src_val: impl FormattedValue,
        dest_format: Format,
    ) -> Option<GenericFormattedValue> { ... }
}

Provided Methods§

Source

fn start(&self) -> Result<(), ErrorMessage>

Optional. Called when the element starts processing. Allows opening external resources.

Source

fn stop(&self) -> Result<(), ErrorMessage>

Optional. Called when the element stops processing. Allows closing external resources.

Source

fn set_sink_caps(&self, caps: &Caps) -> Result<(), LoggableError>

Optional. Allows the subclass to be notified of the actual caps set.

Source

fn handle_frame( &self, frame: BaseParseFrame<'_>, ) -> Result<(FlowSuccess, u32), FlowError>

Parses the input data into valid frames as defined by subclass which should be passed to BaseParseExtManual::finish_frame(). The frame’s input buffer is guaranteed writable, whereas the input frame ownership is held by caller (so subclass should make a copy if it needs to hang on). Input buffer (data) is provided by baseclass with as much metadata set as possible by baseclass according to upstream information and/or subclass settings, though subclass may still set buffer timestamp and duration if desired.

§Returns
Source

fn convert( &self, src_val: impl FormattedValue, dest_format: Format, ) -> Option<GenericFormattedValue>

Optional. Convert between formats.

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.

Implementors§