View Source Membrane.RTP.H264.FU (Membrane RTP H264 Plugin v0.20.0)
Module responsible for parsing H264 Fragmentation Unit.
Summary
Types
@type t() :: %Membrane.RTP.H264.FU{data: [binary()]}
Functions
@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.
@spec serialize(binary(), pos_integer()) :: [binary()] | {:error, :unit_too_small}
Serialize H264 unit into list of FU-A payloads