View Source Membrane.AudioInterleaver (Membrane Audio Mix plugin v0.13.0)
Element responsible for interleaving several mono audio streams into single interleaved stream.
All input streams should be in the same raw audio format, defined by input_stream_format
option.
Channels are interleaved in order given in order
option - currently required, no default available.
Each input pad should be identified with your custom id (using via_in(Pad.ref(:input, your_example_id)
)
element-options
Element options
Passed via struct Membrane.AudioInterleaver.t/0
input_stream_format
RawAudio.t()
Default value:
nil
The value defines a raw audio format of pads connected to the element. It should be the same for all the pads.frames_per_buffer
pos_integer()
Default value:
2048
Assumed number of raw audio frames in each buffer. Used when converting demand from buffers into bytes.order
[any()]
Required
Order in which channels should be interleaved
pads
Pads
input
:input
Accepted formats:
%RawAudio{channels: 1}
Membrane.RemoteStream
Direction: | :input |
Availability: | :on_request |
Mode: | :pull |
Demand mode: | :manual |
Demand unit: | :bytes |
Pad options:
offset
Time.t()
Default value:
0
Offset of the input audio at the pad.
output
:output
Accepted formats:
RawAudio
Direction: | :output |
Availability: | :always |
Mode: | :pull |
Demand mode: | :manual |
Link to this section Summary
Link to this section Types
@type input_pad_opts_t() :: [{:offset, Time.t()}]
Options for pad :input
@type t() :: %Membrane.AudioInterleaver{ frames_per_buffer: pos_integer(), input_stream_format: Membrane.RawAudio.t(), order: [any()] }
Struct containing options for Membrane.AudioInterleaver
Link to this section Functions
@spec options() :: keyword()
Returns description of options available for this module