Skip to main content
Version: 0.9.0

PrimarylessVideoSenderControl class

Creates PrimarylessVideoSenders for a session; reached through Session.PrimarylessVideoSenders.

Namespace: Quaternar.Qaros · Assembly: Quaternar.Qaros.dll · Source: VideoSender.cs

public sealed class PrimarylessVideoSenderControl

Methods​

CreateCpu​

Creates a CPU video sender; PrimarylessVideoSenderOptions.GraphicsAPI must be GraphicsAPI.Cpu.

public Result<PrimarylessVideoSender> CreateCpu(PrimarylessVideoSenderOptions options)

Parameters

NameTypeDescription
optionsPrimarylessVideoSenderOptions

Returns: Result<PrimarylessVideoSender>

Exceptions

ExceptionCondition
ArgumentNullExceptionoptions or its layout is null.
ArgumentExceptionThe graphics API is not GraphicsAPI.Cpu.
ArgumentOutOfRangeExceptionThe reconnect timeout is not positive.

Create​

Creates a producer-owned logical video sender for PrimarylessVideoSenderOptions.GraphicsAPI, with the matching stream-parameter extension for a GPU API.

public Result<PrimarylessVideoSender> Create(PrimarylessVideoSenderOptions options)

Parameters

NameTypeDescription
optionsPrimarylessVideoSenderOptions

Returns: Result<PrimarylessVideoSender>

Exceptions

ExceptionCondition
ArgumentNullExceptionoptions or its layout is null.
ArgumentOutOfRangeExceptionThe reconnect timeout is not positive (checked even with reconnects disabled) or does not fit in milliseconds.

Remarks

Synchronous: it negotiates nothing and needs no receiver, and creates the frame resources on the calling thread. The library generates the stream id; publish PrimarylessVideoSender.GetStreamId (for example as GuiPanelOptions.ContentStreamId) so receivers can request the stream.