Participant audio and playback controls, independent of device or transport.
Summary
Callbacks
Optional one-shot hint when a frame fits the output queue in this playback epoch.
Optional, idempotent pressure hint: release recovery in this playback epoch only.
Callbacks
@callback arm_output_space(pid(), pid(), reference(), pos_integer(), non_neg_integer()) :: :ok | {:error, Parlora.Error.t()}
Optional one-shot hint when a frame fits the output queue in this playback epoch.
@callback capabilities(pid()) :: {:ok, Parlora.Channel.Capabilities.t()} | {:error, Parlora.Error.t()}
@callback close(pid(), String.t(), term()) :: :ok | {:error, Parlora.Error.t()}
@callback control( pid(), String.t(), {:suppress_output, boolean()} | {:clear_output, non_neg_integer()} ) :: :ok | {:error, Parlora.Error.t()}
@callback read_audio(pid(), pos_integer()) :: {:ok, [Parlora.AudioFrame.t()]} | {:error, Parlora.Error.t()}
@callback release_output_recovery(pid(), non_neg_integer()) :: :ok | {:error, Parlora.Error.t()}
Optional, idempotent pressure hint: release recovery in this playback epoch only.
@callback start_link(Parlora.AdapterInit.t(), keyword()) :: {:ok, pid()} | {:error, Parlora.Error.t()}
@callback write_audio(pid(), Parlora.AudioFrame.t()) :: :ok | {:error, Parlora.Error.t()}