View Source Membrane.WAV.Serializer (Membrane WAV Plugin v0.4.0)
Element responsible for raw audio serialization to WAV format.
Creates WAV header (its description can be found with Membrane.WAV.Parser
) from received caps
and puts it before audio samples. The element assumes that audio is in PCM format.
file length
and data length
fields can be calculated only after processing all samples, so
the serializer uses Membrane.File.SeekEvent
to supply them with proper values before the end
of stream. If your sink doesn't support seeking, set disable_seeking
option to true
and fix
the header using Membrane.WAV.Postprocessing
.
The option frames_per_buffer
makes it possible to specify number of frames sent in one
buffer when demand unit on the output is :buffers
. One frame contains
bits per sample * number of channels
bits.
element-options
Element options
Passed via struct Membrane.WAV.Serializer.t/0
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.disable_seeking
boolean()
Default value:
false
Whether the element should disable emittingMembrane.File.SeekEvent
.The event is used to supply the WAV header with proper values before the end of stream. If your sink doesn't support it, you should set this option to
true
and useMembrane.WAV.Postprocessing
to fix the header.
pads
Pads
input
:input
Availability | :always |
Caps | Membrane.Caps.Audio.Raw |
Demand mode | :manual |
Demand unit | :bytes |
Direction | :input |
Mode | :pull |
Name | :input |
output
:output
Availability | :always |
Caps | :any |
Demand mode | :manual |
Demand unit | :buffers |
Direction | :output |
Mode | :pull |
Name | :output |
Link to this section Summary
Types
Struct containing options for Membrane.WAV.Serializer
Functions
Returns pads descriptions for Membrane.WAV.Serializer
Returns description of options available for this module
Link to this section Types
Specs
t() :: %Membrane.WAV.Serializer{ disable_seeking: boolean(), frames_per_buffer: pos_integer() }
Struct containing options for Membrane.WAV.Serializer
Link to this section Functions
Specs
membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]
Returns pads descriptions for Membrane.WAV.Serializer
Specs
options() :: keyword()
Returns description of options available for this module