Table of Contents

Class LiveSourceSwitchSettings

Namespace
VisioForge.Core.LiveSourceSwitch
Assembly
VisioForge.Core.dll

Configuration settings for the Live Source Switch block.

public class LiveSourceSwitchSettings

Inheritance

Inherited Members

Remarks

This class contains all parameters needed to initialize a live source switching session, including video dimensions, frame rate, audio configuration, input limits, and synchronization options for fast, seamless source switching.

Constructors

LiveSourceSwitchSettings(int, int, VideoFrameRate)

Initializes a new instance of the VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings class.

public LiveSourceSwitchSettings(int width, int height, VideoFrameRate frameRate)

Parameters

width int

The output video width in pixels.

height int

The output video height in pixels.

frameRate VideoFrameRate

The output video frame rate.

Remarks

Video dimensions and frame rate are immutable after construction. Audio settings and input limits can be modified before passing to the switch block.

Properties

AudioCacheBuffers

Gets or sets a value indicating whether the audio switch should cache buffers. When null, uses the same value as VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings.CacheBuffers. For fast audio switching with minimal latency, set to false, but be aware that this may increase the risk of audible dropouts or glitches during source switches, especially under high load or with unstable inputs. Default is null (inherits from VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings.CacheBuffers), which typically favors smoother audio over the lowest latency.

public bool? AudioCacheBuffers { get; set; }

Property Value

bool?

AudioChannels

Gets or sets the number of audio channels.

public int AudioChannels { get; set; }

Property Value

int

AudioDropBackwards

Gets or sets a value indicating whether the audio switch should drop backwards buffers. When null, uses the same value as VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings.DropBackwards. Default is null (inherits from DropBackwards).

public bool? AudioDropBackwards { get; set; }

Property Value

bool?

AudioFormat

Gets or sets the audio sample format.

public AudioFormatX AudioFormat { get; set; }

Property Value

AudioFormatX

AudioSampleRate

Gets or sets the audio sample rate in Hz.

public int AudioSampleRate { get; set; }

Property Value

int

AudioStream

Gets or sets a value indicating whether audio stream is enabled.

public bool AudioStream { get; set; }

Property Value

bool

AudioSyncMode

Gets or sets the synchronization mode for the audio input selector. When null, uses the same value as VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings.SyncMode. Default is null (inherits from SyncMode).

public InputSelectorSyncMode? AudioSyncMode { get; set; }

Property Value

InputSelectorSyncMode?

AudioSyncStreams

Gets or sets a value indicating whether inactive audio streams should be synced. When null, uses the same value as VisioForge.Core.LiveSourceSwitch.LiveSourceSwitchSettings.SyncStreams. Default is null (inherits from SyncStreams).

public bool? AudioSyncStreams { get; set; }

Property Value

bool?

CacheBuffers

Gets or sets a value indicating whether the active pad caches buffers to avoid missing frames when the pad is reactivated. Default is true for smoother switching.

public bool CacheBuffers { get; set; }

Property Value

bool

DropBackwards

Gets or sets a value indicating whether buffers that go backwards relative to the last output buffer should be dropped. Default is true to avoid visual glitches.

public bool DropBackwards { get; set; }

Property Value

bool

MaxAudioInputsCount

Gets or sets the maximum number of audio inputs that can be registered.

public int MaxAudioInputsCount { get; set; }

Property Value

int

MaxVideoInputsCount

Gets or sets the maximum number of video inputs that can be registered.

public int MaxVideoInputsCount { get; set; }

Property Value

int

RandomKey

Gets the unique random key used for generating bridge connection names.

public int RandomKey { get; }

Property Value

int

SyncMode

Gets or sets the synchronization mode for the input selector. Default is Clock for better live switching performance.

public InputSelectorSyncMode SyncMode { get; set; }

Property Value

InputSelectorSyncMode

SyncStreams

Gets or sets a value indicating whether inactive streams should be synced. Default is false for faster switching without synchronization delay.

public bool SyncStreams { get; set; }

Property Value

bool

VideoFrameRate

Gets the output video frame rate.

public VideoFrameRate VideoFrameRate { get; }

Property Value

VideoFrameRate

VideoHeight

Gets the output video height in pixels.

public int VideoHeight { get; }

Property Value

int

VideoStream

Gets or sets a value indicating whether video stream is enabled.

public bool VideoStream { get; set; }

Property Value

bool

VideoWidth

Gets the output video width in pixels.

public int VideoWidth { get; }

Property Value

int