Table of Contents

Class LVCVideoAudioOutput

Namespace
VisioForge.Core.LiveVideoCompositorV2
Assembly
VisioForge.Core.dll

Represents a video and audio output component for the Live Video Compositor. This class handles the creation and management of both video and audio bridge sources that connect to the main processing pipeline, supporting optional processing blocks for both media streams.

public class LVCVideoAudioOutput : LVCOutput, IDisposable

Inheritance

Implements

Inherited Members

Remarks

This output type is used when both video and audio streams need to be processed and output from the compositor. It creates separate bridge sources for video and audio, allowing for independent processing of each stream before they are connected to the main output block.

Constructors

LVCVideoAudioOutput(string, LiveVideoCompositor, MediaBlock, bool, MediaBlock, MediaBlock)

Initializes a new instance of the VisioForge.Core.LiveVideoCompositorV2.LVCVideoAudioOutput class.

public LVCVideoAudioOutput(string name, LiveVideoCompositor compositor, MediaBlock mainBlock, bool autostart, MediaBlock processingVideoBlock = null, MediaBlock processingAudioBlock = null)

Parameters

name string

The unique name identifier for this output instance.

compositor LiveVideoCompositor

The parent compositor that manages this output.

mainBlock MediaBlock

The main media block that will receive the processed video and audio streams.

autostart bool

If set to true, the output will automatically start with the main pipeline; otherwise, manual start is required.

processingVideoBlock MediaBlock

An optional video processing block to apply effects or transformations to the video stream before output. Default is null.

processingAudioBlock MediaBlock

An optional audio processing block to apply effects or transformations to the audio stream before output. Default is null.

Methods

Build(string, string)

Builds the output pipeline by creating bridge sources for video and audio and connecting them to the main output block through optional processing blocks.

public override void Build(string uniqueName, string uniqueName2 = null)

Parameters

uniqueName string

The unique identifier for the video bridge source.

uniqueName2 string

The unique identifier for the audio bridge source. If not provided, defaults to null.

Remarks

This method creates the necessary bridge sources based on the compositor's settings, connects optional processing blocks if provided, and establishes the complete pipeline from bridge sources to the main output block. The method handles dynamic input creation for blocks that support it.

Dispose(bool)

Releases unmanaged and optionally managed resources used by this output.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Remarks

This method properly disposes of the bridge source blocks for both video and audio to prevent memory leaks and ensure proper cleanup of resources.

SetAndConnectMainBlock(MediaBlock)

Sets a new main block and connects both the video and audio bridges to its dynamic inputs.

protected override bool SetAndConnectMainBlock(MediaBlock mainBlock)

Parameters

mainBlock MediaBlock

The new sink block to use as the main output destination. Must implement VisioForge.Core.MediaBlocks.IMediaBlockDynamicInputs.

Returns

bool

true if both bridges were connected successfully; otherwise, false.

Remarks

The base implementation uses the inherited _bridgeSourceBlock, which this subclass does not populate (it uses separate video/audio bridge fields). Without this override the base would short-circuit on the null bridge and never re-wire a VideoAudio output.

See Also