An ordered audio fragment. Locally derived timestamps are explicitly labeled.
Summary
Types
@type clock() :: :local_monotonic | :provider | :unknown
@type t() :: %Parlora.AudioFrame{ clock: clock(), data: binary(), discontinuity: boolean(), duration_us: non_neg_integer(), format: Parlora.AudioFormat.t(), generation: non_neg_integer(), playback_epoch: non_neg_integer() | nil, sequence: non_neg_integer(), stream_id: String.t(), timestamp_us: integer() | nil }
Functions
@spec new(binary(), Parlora.AudioFormat.t(), String.t(), non_neg_integer(), keyword()) :: t()
@spec pcm(binary(), String.t(), non_neg_integer(), keyword()) :: t()
@spec validate(term(), Parlora.AudioFormat.t(), Parlora.Limits.t()) :: :ok | {:error, Parlora.Error.t()}