View Source Membrane.RTP.RTXParser (Membrane RTP plugin v0.27.1)

An element responsible for handling retransmission packets (rtx) defined in RFC 4588.

It parses RTX packet and recreates the lost packet by stripping rtx header from buffer's payload and updating rtp metadata. The changed fields are:

  • sequence_number - set to value transported in rtx header
  • payload_type - set via original_payload_type option
  • if rid_id and repaired_rid_id are provided, the former replaces the latter in a matching :extensions entry

Element options

Passed via struct Membrane.RTP.RTXParser.t/0

  • original_payload_type

    any

    Required
    Payload type of original RTP stream that is retransmitted via the parsed RTX stream

  • repaired_rid_id

    RTP.Header.Extension.identifier_t()

    Default value: nil
    The numerical ID of an extension carrying repaired-rid that will be rewritten into rid

  • rid_id

    RTP.Header.Extension.identifier_t()

    Default value: nil
    The numerical ID of an extension carrying rid, will replace repaired_rid_id

Pads

:input

Accepted formats:

RTP
Direction::input
Availability::always
Flow control::auto

:output

Accepted formats:

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

Summary

Types

t()

Struct containing options for Membrane.RTP.RTXParser

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.RTP.RTXParser{
  original_payload_type: any(),
  repaired_rid_id: Membrane.RTP.Header.Extension.identifier_t(),
  rid_id: Membrane.RTP.Header.Extension.identifier_t()
}

Struct containing options for Membrane.RTP.RTXParser

Functions

@spec options() :: keyword()

Returns description of options available for this module