gstreamer_gl::subclass::prelude

Trait GLFilterImpl

Source
pub trait GLFilterImpl: GLBaseFilterImpl + ObjectSubclass<Type: IsA<GLFilter>> {
    const MODE: GLFilterMode;
    const ADD_RGBA_PAD_TEMPLATES: bool = true;

    // Provided methods
    fn set_caps(
        &self,
        incaps: &Caps,
        outcaps: &Caps,
    ) -> Result<(), LoggableError> { ... }
    fn filter(
        &self,
        input: &Buffer,
        output: &Buffer,
    ) -> Result<(), LoggableError> { ... }
    fn filter_texture(
        &self,
        input: &GLMemory,
        output: &GLMemory,
    ) -> Result<(), LoggableError> { ... }
    fn init_fbo(&self) -> Result<(), LoggableError> { ... }
    fn transform_internal_caps(
        &self,
        direction: PadDirection,
        caps: &Caps,
        filter_caps: Option<&Caps>,
    ) -> Option<Caps> { ... }
}

Required Associated Constants§

Provided Associated Constants§

Provided Methods§

Source

fn set_caps(&self, incaps: &Caps, outcaps: &Caps) -> Result<(), LoggableError>

Source

fn filter(&self, input: &Buffer, output: &Buffer) -> Result<(), LoggableError>

perform operations on the input and output buffers. In general, you should avoid using this method if at all possible. One valid use-case for using this is keeping previous buffers for future calculations. Note: If self exists, then filter_texture is not run

Source

fn filter_texture( &self, input: &GLMemory, output: &GLMemory, ) -> Result<(), LoggableError>

Calls filter_texture vfunc with correctly mapped GstGLMemorys

§input

an input buffer

§output

an output buffer

§Returns

whether the transformation succeeded

Source

fn init_fbo(&self) -> Result<(), LoggableError>

perform initialization when the Framebuffer object is created

Source

fn transform_internal_caps( &self, direction: PadDirection, caps: &Caps, filter_caps: Option<&Caps>, ) -> Option<Caps>

Perform sub-class specific modifications of the caps to be processed between upload on input and before download for output.

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§