Membrane.Opus.Parser (Membrane Opus plugin v0.21.0)

Copy Markdown View Source

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

Adds the following metadata:

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

Element options

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

  • delimitation

    delimitation_t()

    Default value: :keep
    If input is self-delimiting and :undelimit is selected, delimiting will be removed.

    If input is not self-delimiting and :delimit is selected, delimiting will be added.

    If :keep is selected, delimiting will stay unchanged.

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

  • fallback_input_delimitation

    boolean()

    Default value: false
    If an input stream format is a Membrane.RemoteStream, then the delimitation provided with this option will be assumed. If it's Membrane.Opus, then this option will be ignored.

  • generate_best_effort_timestamps?

    boolean()

    Default value: false
    If this is set to true parser will try to generate timestamps starting from 0 and increasing them by frame duration, otherwise it will pass pts from input to output, even if it's nil.

Pads

:input

Accepted formats:

Opus
%RemoteStream{content_format: format} when format in [Opus, nil]
Direction::input
Availability::always
Flow control::auto

:output

Accepted formats:

Opus
Direction::output
Availability::always
Flow control::auto

Summary

Types

t()

Struct containing options for Membrane.Opus.Parser

Functions

Returns description of options available for this module

Types

delimitation_t()

@type delimitation_t() :: :delimit | :undelimit | :keep

t()

@type t() :: %Membrane.Opus.Parser{
  delimitation: delimitation_t(),
  fallback_input_delimitation: boolean(),
  generate_best_effort_timestamps?: boolean()
}

Struct containing options for Membrane.Opus.Parser

Functions

options()

@spec options() :: keyword()

Returns description of options available for this module