View Source Membrane.Opus.Parser (Membrane Opus plugin v0.15.0)

Parses a raw incoming Opus stream and adds caps information, as well as metadata.

Adds the following metadata:

duration :: non_neg_integer() Number of nanoseconds encoded in this packet

element-options

Element options

Passed via struct Membrane.Opus.Parser.t/0

  • delimitation

    delimitation_t()

    Default value: :keep
    If input is delimitted? (as indicated by the self_delimiting? field in %Opus) and :undelimit is selected, will remove delimiting.

    If input is not delimitted? and :delimit is selected, will add delimiting.

    If :keep is selected, will not change delimiting.

    Otherwise will act like :keep.

    See https://tools.ietf.org/html/rfc6716#appendix-B for details on the self-delimiting Opus format.

  • input_delimitted?

    boolean()

    Default value: false
    If you know that the input is self-delimitted? but you're reading from some element that isn't sending the correct structure, you can set this to true to force the Parser to assume the input is self-delimitted? and ignore upstream caps information on self-delimitation.

pads

Pads

input

:input

Availability :always
Caps Membrane.Opus,
Membrane.RemoteStream, restrictions:
  content_format: one_of([Membrane.Opus, nil])
Demand mode :auto
Demand unit :buffers
Direction :input
Mode :pull
Name :input

output

:output

Availability :always
Caps Membrane.Opus
Demand mode :auto
Demand unit :buffers
Direction :output
Mode :pull
Name :output

Link to this section Summary

Types

t()

Struct containing options for Membrane.Opus.Parser

Functions

Returns pads descriptions for Membrane.Opus.Parser

Returns description of options available for this module

Link to this section Types

@type delimitation_t() :: :delimit | :undelimit | :keep
@type t() :: %Membrane.Opus.Parser{
  delimitation: delimitation_t(),
  input_delimitted?: boolean()
}

Struct containing options for Membrane.Opus.Parser

Link to this section Functions

@spec membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.Opus.Parser

@spec options() :: keyword()

Returns description of options available for this module