Table of Contents

Class ObsNamedOutput

Namespace
OBSStudioClient.Model
Assembly
OBSClient.dll

An output of OBS Studio that is addressed by its name: one that a plugin added (a second stream, a recording to another place), or one of the four of ObsOutputs by the name that OBS Studio gave it. It can be started, stopped and asked how it does, and its settings can be read and set.

public sealed class ObsNamedOutput
Inheritance
ObsNamedOutput
Inherited Members

Remarks

The model keeps no state of such an output: OBS Studio sends no event when a plugin output starts or stops, and the name is all there is to hold on to. So the methods are plain calls that return when OBS Studio has answered, and GetStatusAsync(CancellationToken) says what the output does at that moment. The four outputs of ObsOutputs are the ones that the model keeps current (Status): use those for them, and this for the others.

The object is made by Named(string) and does not check that the output exists: calls are refused when it does not (ErrorCode is ResourceNotFound). GetAllAsync(CancellationToken) lists the names.

Properties

Model

Gets the model that the output belongs to.

Name

Gets the name of the output, as OBS Studio calls it (see GetAllAsync(CancellationToken)).

Methods

GetSettingsAsync(CancellationToken)

Asks OBS Studio for the settings of the output.

GetStatusAsync(CancellationToken)

Asks OBS Studio what the output does: whether it runs, and how long, how many bytes it has sent, how many frames it has dropped.

SetSettingsAsync(object, CancellationToken)

Sets the settings of the output, and returns when OBS Studio has answered.

StartAsync(CancellationToken)

Starts the output, and returns when OBS Studio has answered.

StopAsync(CancellationToken)

Stops the output, and returns when OBS Studio has answered.

ToString()

Returns a string that represents the current object.

ToggleAsync(CancellationToken)

Starts the output when it is not running, and stops it when it is, and returns when OBS Studio has answered.