View Source Membrane.SRTP.Decryptor (Membrane RTP plugin v0.17.1)

Converts SRTP packets to plain RTP.

Decryptor expects that buffers passed to handle_process/4 have already parsed headers in the metadata field as they contain information about header length. The header length is needed to avoid parsing the header twice in case of any elements preceding the decryptor needed the information to e.g. drop the packet before reaching the decryptor. ExLibSRTP expects a valid SRTP packet containing the header, after decryption, the payload binary again includes the header. The header's length simply allows stripping the header without any additional parsing.

Requires adding srtp dependency to work.

element-options

Element options

Passed via struct Membrane.SRTP.Decryptor.t/0

  • policies

    [ExLibSRTP.Policy.t()]

    Required
    List of SRTP policies to use for decrypting packets. See ExLibSRTP.Policy.t/0 for details.

pads

Pads

input

:input

Availability :always
Caps :any
Demand mode :auto
Demand unit :buffers
Direction :input
Mode :pull
Name :input

output

:output

Availability :always
Caps :any
Demand mode :auto
Demand unit :buffers
Direction :output
Mode :pull
Name :output

Link to this section Summary

Types

t()

Struct containing options for Membrane.SRTP.Decryptor

Functions

Returns pads descriptions for Membrane.SRTP.Decryptor

Returns description of options available for this module

Link to this section Types

@type t() :: %Membrane.SRTP.Decryptor{policies: [ExLibSRTP.Policy.t()]}

Struct containing options for Membrane.SRTP.Decryptor

Link to this section Functions

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

Returns pads descriptions for Membrane.SRTP.Decryptor

@spec options() :: keyword()

Returns description of options available for this module