Membrane.RTP.Header.Extension (Membrane RTP plugin v0.31.0)

View Source

Describes RTP Header Extension defined in RFC8285 and provides common functions for interacting with extensions placed in buffers.

 0                   1                   2
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|  ID   |  len  |     data (len+1 bytes)   ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

Summary

Types

identifier_t()

@type identifier_t() :: 1..14 | Membrane.RTP.SessionBin.rtp_extension_name_t()

t()

@type t() :: %Membrane.RTP.Header.Extension{
  data: binary(),
  identifier: identifier_t()
}

Functions

delete(buffer, identifier)

find(buffer, identifier)

@spec find(Membrane.Buffer.t(), identifier_t()) :: t() | nil

pop(buffer, identifier)

@spec pop(Membrane.Buffer.t(), identifier_t()) :: {t() | nil, Membrane.Buffer.t()}

put(buffer, extension)

@spec put(Membrane.Buffer.t(), t()) :: Membrane.Buffer.t()