MOQX.Protocol.MOQLite05.GroupDecoder (moqx v0.10.0)

Copy Markdown View Source

Incremental decoder for one publisher-created Group Stream.

Summary

Types

decoded_frame()

@type decoded_frame() :: %{
  subscribe_id: non_neg_integer(),
  group_sequence: non_neg_integer(),
  object_id: non_neg_integer(),
  timestamp: integer(),
  payload: binary()
}

t()

@type t() :: %MOQX.Protocol.MOQLite05.GroupDecoder{
  buffer: binary(),
  group: MOQX.Protocol.MOQLite05.Messages.Group.t() | nil,
  next_frame_id: non_neg_integer(),
  stream_type?: boolean(),
  timestamp: integer()
}

Functions

complete(decoder)

@spec complete(t()) :: :ok | {:error, {:incomplete_group_stream, map()}}

push(decoder, data)

@spec push(t(), binary()) ::
  {:ok, t(), [decoded_frame()]} | {:error, :invalid_group_stream}