View Source Membrane.Element (Membrane Core v1.1.1)
Module containing types and functions for operating on elements.
For behaviours for elements check Membrane.Source
, Membrane.Filter
,
Membrane.Endpoint
and Membrane.Sink
.
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
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.
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
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
Functions
Checks whether module is an element.