View Source Membrane.Element (Membrane Core v1.1.0)

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:

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

Functions

Checks whether module is an element.

Types

@type name() :: tuple() | atom()

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

@spec element?(module()) :: boolean()

Checks whether module is an element.

Link to this macro

is_element_name?(arg)

View Source (macro)