[][src]Crate gstreamer_base

Re-exports

pub use functions::*;
pub use 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.

AdapterClass
Aggregator

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

AggregatorClass
AggregatorPad

Pads managed by a Aggregator subclass.

AggregatorPadClass
BaseParse

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

BaseParseClass
BaseParseFrameFlags

Flags to be used in a BaseParseFrame.

BaseSink

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

BaseSinkClass
BaseSrc

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

BaseSrcClass
BaseTransform

This base class is for filter elements that process data. Elements that are suitable for implementation using 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.

BaseTransformClass
FlowCombiner

Utility struct to help handling gst::FlowReturn combination. Useful for gst::Elements that have multiple source pads and need to combine the different 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.

PushSrcClass
UniqueAdapter
UniqueAdapterMap
UniqueFlowCombiner

Enums

AggregatorStartTimeSelection

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

Traits

AggregatorExt

Trait containing all Aggregator methods.

AggregatorExtManual
AggregatorPadExt

Trait containing all AggregatorPad methods.

AggregatorPadExtManual
BaseParseExt

Trait containing all BaseParse methods.

BaseParseExtManual
BaseSinkExt

Trait containing all BaseSink methods.

BaseSinkExtManual
BaseSrcExt

Trait containing all BaseSrc methods.

BaseSrcExtManual
BaseTransformExt

Trait containing all BaseTransform methods.

BaseTransformExtManual

Functions

type_find_helper
type_find_helper_for_extension