View Source Membrane.RTP.Packet (Membrane RTP plugin v0.12.1)
Defines a struct describing an RTP packet and a way to parse and serialize it. Based on RFC3550
Supports only one-byte header from RFC8285, as according to the document this form is preferred and it must be supported by all receivers.
Link to this section Summary
Link to this section Types
@type t() :: %Membrane.RTP.Packet{header: Membrane.RTP.Header.t(), payload: binary()}
Link to this section Functions
@spec identify(binary()) :: :rtp | :rtcp
@spec parse(binary(), boolean()) :: {:ok, %{packet: t(), has_padding?: boolean(), total_header_size: non_neg_integer()}} | {:error, :wrong_version | :malformed_packet}
@spec serialize(t(), [{:align_to, pos_integer()}]) :: binary()