MediaCodecs.H264.AccessUnitSplitter (MediCodecs v0.10.0)
View SourceModule responsible for splitting a stream of H264 NAL units into access units.
Most of the code copied from https://github.com/membraneframework/membrane_h26x_plugin/blob/v0.10.5/lib/membrane_h264_plugin/h264/au_splitter.ex
Summary
Functions
Flushes the splitter and return the remaining nalus as an complete access unit
Creates a new access unit splitter.
Processes a NAL unit.
Types
@type access_unit() :: [binary()]
@type t() :: %MediaCodecs.H264.AccessUnitSplitter{ access_unit: access_unit(), parsed_pps: %{required(non_neg_integer()) => MediaCodecs.H264.NALU.t()}, parsed_sps: %{required(non_neg_integer()) => MediaCodecs.H264.NALU.t()}, previous_nalu: MediaCodecs.H264.NALU.t() | nil, sps: [binary()], stage: :first | :second }
Functions
@spec flush(t()) :: access_unit()
Flushes the splitter and return the remaining nalus as an complete access unit
@spec new() :: t()
Creates a new access unit splitter.
@spec process(nalu :: binary(), t()) :: {access_unit() | nil, t()}
Processes a NAL unit.