View Source Membrane.Element (Membrane Core v1.1.2)
Module containing types and functions for operating on elements.
For behaviours for elements check Membrane.Source
, Membrane.Filter
,
Membrane.Endpoint
and Membrane.Sink
.
behaviours
Behaviours
Element-specific behaviours are specified in modules:
Membrane.Element.WithOutputPads
- behaviour common to sources, filters and endpointsMembrane.Element.WithInputPads
- behaviour common to sinks, filters and endpoints- Base modules (
Membrane.Source
,Membrane.Filter
,Membrane.Endpoint
,Membrane.Sink
) - behaviours specific to each element type.
callbacks
Callbacks
Modules listed above provide specifications of callbacks that define elements
lifecycle. All of these callbacks have names with the handle_
prefix.
They are used to define reaction to certain events that happen during runtime,
and indicate what actions framework should undertake as a result, besides
executing element-specific code.
For actions that can be returned by each callback, see Membrane.Element.Action
module.
Link to this section Summary
Types
Type that defines an element name by which it is identified.
Defines options that can be received in Membrane.Element.Base.handle_init/2
callback.
Type of user-managed state of element.
Defines possible element types
Link to this section Types
Type that defines an element name by which it is identified.
@type options() :: struct() | nil
Defines options that can be received in Membrane.Element.Base.handle_init/2
callback.
@type state() :: any()
Type of user-managed state of element.
@type type() :: :source | :filter | :endpoint | :sink
Defines possible element types:
- source, producing buffers
- filter, processing buffers
- endpoint, producing and consuming buffers
- sink, consuming buffers
Link to this section Functions
Checks whether module is an element.