View Source Membrane.RTP.H264.FU (Membrane RTP H264 Plugin v0.20.2)

Module responsible for parsing H264 Fragmentation Unit.

Summary

Functions

Parses H264 Fragmentation Unit

Serialize H264 unit into list of FU-A payloads

Types

t()

@type t() :: %Membrane.RTP.H264.FU{data: [binary()]}

Functions

parse(packet, acc)

@spec parse(binary(), t()) ::
  {:ok, {binary(), Membrane.RTP.H264.NAL.Header.type()}}
  | {:error, :packet_malformed | :invalid_first_packet}
  | {:incomplete, t()}

Parses H264 Fragmentation Unit

If a packet that is being parsed is not considered last then a {:incomplete, t()} tuple will be returned. In case of last packet {:ok, {type, data}} tuple will be returned, where data is NAL Unit created by concatenating subsequent Fragmentation Units.

serialize(data, preferred_size)

@spec serialize(binary(), pos_integer()) :: [binary()] | {:error, :unit_too_small}

Serialize H264 unit into list of FU-A payloads