View Source Membrane.Payload protocol (Membrane Core v1.1.2)
This protocol describes actions common to all payload types.
The most basic payload type is simply a binary for which Elixir.Membrane.Payload
is implemented by the Membrane Core.
Link to this section Summary
Types
A type describing all the types that implement Membrane.Payload
protocol.
Functions
Concatenates the contents of two payloads.
Drops first n
bytes of payload.
Returns a module responsible for this type of payload
and implementing Membrane.Payload.Behaviour
Returns total size of payload in bytes
Splits the payload at given position (1st part has the size equal to at_pos
argument)
Converts payload into binary
Link to this section Types
@type t() :: any()
A type describing all the types that implement Membrane.Payload
protocol.
Link to this section Functions
Concatenates the contents of two payloads.
@spec drop(payload :: t(), n :: non_neg_integer()) :: t()
Drops first n
bytes of payload.
Returns a module responsible for this type of payload
and implementing Membrane.Payload.Behaviour
@spec size(payload :: t()) :: non_neg_integer()
Returns total size of payload in bytes
@spec split_at(payload :: t(), at_pos :: pos_integer()) :: {t(), t()}
Splits the payload at given position (1st part has the size equal to at_pos
argument)
at_pos
has to be greater than 0 and smaller than the size of payload, otherwise
an error is raised. This guarantees returned payloads are never empty.
Converts payload into binary