Crate gstreamer_base[][src]

Re-exports

pub use ffi;
pub use glib;
pub use gst;
pub use crate::functions::*;
pub use crate::base_parse_frame::BaseParseFrame;

Modules

base_parse_frame
functions
functions
prelude
subclass

Structs

Adapter

This class is for elements that receive buffers in an undesired size. While for example raw video contains one image per buffer, the same is not true for a lot of other formats, especially those that come directly from a file. So if you have undefined buffer sizes and require a specific size, this object is for you.

Aggregator

Manages a set of pads with the purpose of aggregating their buffers. Control is given to the subclass when all pads have data.

AggregatorPad

Pads managed by a crate::Aggregator subclass.

BaseParse

This base class is for parser elements that process data and splits it into separate audio/video/whatever frames.

BaseParseFrameFlags

Flags to be used in a crate::BaseParseFrame.

BaseSink

crate::BaseSink is the base class for sink elements in GStreamer, such as xvimagesink or filesink. It is a layer on top of crate::gst::Element that provides a simplified interface to plugin writers. crate::BaseSink handles many details for you, for example: preroll, clock synchronization, state changes, activation in push or pull mode, and queries.

BaseSrc

This is a generic base class for source elements. The following types of sources are supported:

BaseTransform

This base class is for filter elements that process data. Elements that are suitable for implementation using crate::BaseTransform are ones where the size and caps of the output is known entirely from the input caps and buffer sizes. These include elements that directly transform one buffer into another, modify the contents of a buffer in-place, as well as elements that collate multiple input buffers into one output buffer, or that expand one input buffer into multiple output buffers. See below for more concrete use cases.

FlowCombiner

Utility struct to help handling crate::gst::FlowReturn combination. Useful for crate::gst::Elements that have multiple source pads and need to combine the different crate::gst::FlowReturn for those pads.

PushSrc

This class is mostly useful for elements that cannot do random access, or at least very slowly. The source usually prefers to push out a fixed size buffer.

UniqueAdapter
UniqueAdapterMap
UniqueFlowCombiner

Enums

AggregatorStartTimeSelectionv1_18

Constants

AGGREGATOR_FLOW_NEED_DATA
BASE_PARSE_FLOW_DROPPED
BASE_TRANSFORM_FLOW_DROPPED
NONE_AGGREGATOR
NONE_AGGREGATOR_PAD
NONE_BASE_PARSE
NONE_BASE_SINK
NONE_BASE_SRC
NONE_BASE_TRANSFORM
NONE_PUSH_SRC

Functions

type_find_helper
type_find_helper_for_extension