Class LVCVideoAudioOutput
- 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, IDisposableInheritance
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
namestring-
The unique name identifier for this output instance.
compositorLiveVideoCompositor-
The parent compositor that manages this output.
mainBlockMediaBlock-
The main media block that will receive the processed video and audio streams.
autostartbool-
If set to
true, the output will automatically start with the main pipeline; otherwise, manual start is required. processingVideoBlockMediaBlock-
An optional video processing block to apply effects or transformations to the video stream before output. Default is null.
processingAudioBlockMediaBlock-
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
uniqueNamestring-
The unique identifier for the video bridge source.
uniqueName2string-
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
disposingbool-
trueto release both managed and unmanaged resources;falseto 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
mainBlockMediaBlock-
The new sink block to use as the main output destination. Must implement VisioForge.Core.MediaBlocks.IMediaBlockDynamicInputs.
Returns
- bool
-
trueif 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.