View Source Membrane.Testing.Endpoint (Membrane Core v0.12.8)
Membrane element.
element-options
Element options
Passed via struct Membrane.Testing.Endpoint.t/0
autodemand
boolean()
Default value:
true
If true element will automatically make demands. If it is set to false demand has to be triggered manually by sending:make_demand
message.output
{initial_state :: any(), generator} | Enum.t()
Default value:
{0, &Membrane.Testing.Endpoint.default_buf_gen/2}
Ifoutput
is an enumerable withMembrane.Payload.t/0
then buffer containing those payloads will be sent through the:output
pad and followed byMembrane.Element.Action.end_of_stream/0
.If
output
is a{initial_state, function}
tuple then the the function will be invoked each timehandle_demand
is called. It is an action generator that takes two arguments. The first argument is the state that is initially set toinitial_state
. The second one defines the size of the demand. Such function should return{actions, next_state}
whereactions
is a list of actions that will be returned fromhandle_demand/4
andnext_state
is the value that will be used for the next call.stream_format
struct()
Default value:
%Membrane.RemoteStream{content_format: nil, type: :bytestream}
Stream format to be sent before theoutput
.
pads
Pads
input
:input
Accepted formats:
_any
Direction: | :input |
Availability: | :always |
Flow control: | :manual |
Demand unit: | :buffers |
output
:output
Accepted formats:
_any
Direction: | :output |
Availability: | :always |
Flow control: | :manual |
Demand unit: | nil |
Link to this section Summary
Functions
Returns description of options available for this module
Creates output with generator function from list of buffers.
Link to this section Types
@type generator() :: (state :: any(), buffers_cnt :: pos_integer() -> {[Membrane.Element.Action.t()], state :: any()})
@type t() :: %Membrane.Testing.Endpoint{ autodemand: boolean(), output: {initial_state :: any(), generator()} | Enum.t(), stream_format: struct() }
Struct containing options for Membrane.Testing.Endpoint
Link to this section Functions
@spec default_buf_gen(integer(), integer()) :: {[Membrane.Element.Action.t()], integer()}
@spec options() :: keyword()
Returns description of options available for this module
@spec output_from_buffers([Membrane.Buffer.t()]) :: {[Membrane.Buffer.t()], generator()}
Creates output with generator function from list of buffers.