Table of Contents

Class VideoCaptureCore

Namespace
VisioForge.Core.VideoCapture
Assembly
VisioForge.Core.dll

Provides comprehensive video and audio capture functionality using Windows DirectShow.

public class VideoCaptureCore : IVideoCaptureControls, IVideoEffectsControls, IVideoCaptureCore, IMPVCVECore, INotifyPropertyChanged, IAsyncDisposable, IDisposable

Inheritance

Implements

Inherited Members

Constructors

VideoCaptureCore(IVideoView, bool)

Initializes a new instance of the VisioForge.Core.VideoCapture.VideoCaptureCore class with a video view.

public VideoCaptureCore(IVideoView videoView, bool initialize = true)

Parameters

videoView IVideoView

The video view control where captured video will be displayed.

initialize bool

If true, immediately initializes the capture system; if false, delays initialization until explicitly called.

Remarks

This constructor creates a video capture instance and attaches the provided video view. Set initialize to false if you need to configure properties before initialization. The video view is automatically attached to this capture instance.

VideoCaptureCore(bool)

Initializes a new instance of the VisioForge.Core.VideoCapture.VideoCaptureCore class without a video view.

public VideoCaptureCore(bool initialize = true)

Parameters

initialize bool

If true, immediately initializes the capture system; if false, delays initialization until explicitly called.

Remarks

This constructor creates a video capture instance without an attached video view. Use this when you don't need video preview or will attach a video view later. Set initialize to false if you need to configure properties before initialization.

Properties

Additional_Audio_CaptureDevice_MixChannels

Gets or sets a value indicating whether multiple audio streams will be mixed into one.

public bool Additional_Audio_CaptureDevice_MixChannels { get; set; }

Property Value

bool

Remarks

Only two audio source streams are currently supported.

Audio_CaptureDevice

Gets or sets the audio capture device. Set this property before you configure audio capture.

public AudioCaptureSource Audio_CaptureDevice { get; set; }

Property Value

AudioCaptureSource

Audio_Channel_Mapper

Gets or sets an audio channel mapper settings.

public AudioChannelMapperSettings Audio_Channel_Mapper { get; set; }

Property Value

AudioChannelMapperSettings

Audio_Decoder

Gets or sets audio decoder used during IP capture (if FFMPEG decoding is disabled).

public string Audio_Decoder { get; set; }

Property Value

string

Audio_Effects_Enabled

Gets or sets a value indicating whether audio effects enabled.

public bool Audio_Effects_Enabled { get; set; }

Property Value

bool

Audio_Enhancer_Enabled

Gets or sets a value indicating whether audio enhancer enabled.

public bool Audio_Enhancer_Enabled { get; set; }

Property Value

bool

Audio_OutputDevice

Gets or sets the device name for playing audio. Set this property before you configure audio output. Make sure that VisioForge.Core.VideoCapture.VideoCaptureCore.Audio_PlayAudio = true for it to work.

public string Audio_OutputDevice { get; set; }

Property Value

string

Remarks

Use NULL as device name to made output to NULL renderer instead real device.

Audio_PCM_Converter

Gets or sets audio PCM converter settings.

public AudioPCMConverterSettings Audio_PCM_Converter { get; set; }

Property Value

AudioPCMConverterSettings

Audio_PlayAudio

Gets or sets a value indicating whether audio playback enabled.

public bool Audio_PlayAudio { get; set; }

Property Value

bool

Audio_RecordAudio

Gets or sets a value indicating whether audio recording enabled. The audio capture device must be selected first.

public bool Audio_RecordAudio { get; set; }

Property Value

bool

Audio_Sample_Grabber_Enabled

Gets or sets a value indicating whether audio sample grabber enabled.

public bool Audio_Sample_Grabber_Enabled { get; set; }

Property Value

bool

Audio_VUMeter_Enabled

Gets or sets a value indicating whether audio VU meter enabled.

public bool Audio_VUMeter_Enabled { get; set; }

Property Value

bool

Audio_VUMeter_Pro_Enabled

Gets or sets a value indicating whether audio VU meter Pro enabled.

public bool Audio_VUMeter_Pro_Enabled { get; set; }

Property Value

bool

Remarks

New VU-meter and other audio visualization.

Audio_VUMeter_Pro_Volume

Gets or sets a volume used by volume meter, in percents.

[JsonIgnore]
public int Audio_VUMeter_Pro_Volume { get; set; }

Property Value

int

BDA_Source

Gets or sets BDA source.

public BDASourceSettings BDA_Source { get; set; }

Property Value

BDASourceSettings

Barcode_Reader_Enabled

Gets or sets a value indicating whether barcode detection is enabled.

[JsonIgnore]
public bool Barcode_Reader_Enabled { get; set; }

Property Value

bool

Barcode_Reader_Type

Gets or sets barcode type to detect.

public BarcodeType Barcode_Reader_Type { get; set; }

Property Value

BarcodeType

ChromaKey

Gets or sets chroma key settings.

public ChromaKeySettings ChromaKey { get; set; }

Property Value

ChromaKeySettings

CustomRedist_Auto

Gets or sets a value indicating whether custom redist usage will be configured automatically. If your app folder (or x86/x64 subfolders) contains redist files SDK will use them.

public bool CustomRedist_Auto { get; set; }

Property Value

bool

CustomRedist_DisableDialog

Gets or sets a value indicating whether custom redist warning dialog disabled. During the start, SDK checking base redist state. If not redist available, SDK shows a dialog. Use this property to disable dialog.

public bool CustomRedist_DisableDialog { get; set; }

Property Value

bool

CustomRedist_Path

Gets or sets custom redist path, where placed all .ax files. Application folder will be used if value not set.

public string CustomRedist_Path { get; set; }

Property Value

string

Custom_Source

Gets or sets custom source settings.

public CustomSourceSettings Custom_Source { get; set; }

Property Value

CustomSourceSettings

DV_Decoder_Video_Resolution

Gets or sets DV decoder video resolution.

public DVVideoResolution DV_Decoder_Video_Resolution { get; set; }

Property Value

DVVideoResolution

Remarks

Several different video resolutions are possible. See the description of the DVVideoResolution type to learn more.

Debug_Dir

Gets or sets debug directory.

public string Debug_Dir { get; set; }

Property Value

string

Debug_DisableMessageDialogs

Gets or sets a value indicating whether message dialog will be shown in case of error if OnError event is not implemented.

public bool Debug_DisableMessageDialogs { get; set; }

Property Value

bool

Debug_EnableUsageTracking

Gets or sets a value indicating whether usage tracking enabled.

public bool Debug_EnableUsageTracking { get; set; }

Property Value

bool

Remarks

DEPRECATED. Only anonymous data will be send.

Debug_Mode

Gets or sets a value indicating whether debug mode enabled.

public bool Debug_Mode { get; set; }

Property Value

bool

Debug_Telemetry

Gets or sets a value indicating whether sending telemetry enabled (only during debugging in Visual Studio).

public bool Debug_Telemetry { get; set; }

Property Value

bool

Remarks

Only anonymous data will be send.

Gets or sets Decklink input.

public DecklinkInput Decklink_Input { get; set; }

Property Value

DecklinkInput

Gets or sets capture timecode source.

public DecklinkCaptureTimecodeSource Decklink_Input_Capture_Timecode_Source { get; set; }

Property Value

DecklinkCaptureTimecodeSource

Gets or sets a value indicating whether USA 7.5 IRE for NTSC video used. False for 0.0 IRE in Japan.

public bool Decklink_Input_IREUSA { get; set; }

Property Value

bool

Gets or sets a value indicating whether SMPTE component levels mode will be used. False for Betacam.

public bool Decklink_Input_SMPTE { get; set; }

Property Value

bool

Gets or sets Decklink output settings.

public DecklinkOutputSettings Decklink_Output { get; set; }

Property Value

DecklinkOutputSettings

Gets or sets Decklink source settings.

public DecklinkSourceSettings Decklink_Source { get; set; }

Property Value

DecklinkSourceSettings

DirectCapture_Muxer

Gets or sets DirectCapture muxer filter name.

public string DirectCapture_Muxer { get; set; }

Property Value

string

Remarks

Currently can be used for MP4 and MKV outputs.

Face_Tracking

Gets or sets face tracking settings.

public FaceTrackingSettings Face_Tracking { get; set; }

Property Value

FaceTrackingSettings

IP_Camera_Source

Gets or sets IP camera source settings.

public IPCameraSourceSettings IP_Camera_Source { get; set; }

Property Value

IPCameraSourceSettings

MPEG_Audio_Decoder

Gets or sets MPEG audio decoder. This parameter allows you to set the decoder used for MPEG-2 audio.

public string MPEG_Audio_Decoder { get; set; }

Property Value

string

MPEG_Demuxer

Gets or sets MPEG demuxer filter.

public string MPEG_Demuxer { get; set; }

Property Value

string

MPEG_Video_Decoder

Gets or sets MPEG video decoder. This parameter allows you to set the decoder used for MPEG-2 video.

public string MPEG_Video_Decoder { get; set; }

Property Value

string

Mode

Gets or sets video capture mode.

public VideoCaptureMode Mode { get; set; }

Property Value

VideoCaptureMode

Motion_Detection

Gets or sets motion detection settings.

public MotionDetectionSettings Motion_Detection { get; set; }

Property Value

MotionDetectionSettings

Motion_DetectionEx

Gets or sets object detection settings.

public MotionDetectionExSettings Motion_DetectionEx { get; set; }

Property Value

MotionDetectionExSettings

MultiScreen_Enabled

Gets or sets a value indicating whether multiscreen enabled.

public bool MultiScreen_Enabled { get; set; }

Property Value

bool

Remarks

This parameter is used to display video on multiple screens.

Network_Streaming_Audio_Enabled

Gets or sets a value indicating whether audio stream for network streaming enabled.

public bool Network_Streaming_Audio_Enabled { get; set; }

Property Value

bool

Network_Streaming_Enabled

Gets or sets a value indicating whether network streaming enabled.

public bool Network_Streaming_Enabled { get; set; }

Property Value

bool

Network_Streaming_Format

Gets or sets network streaming format.

public NetworkStreamingFormat Network_Streaming_Format { get; set; }

Property Value

NetworkStreamingFormat

Network_Streaming_Network_Port

Gets or sets port number for network streaming.

public int Network_Streaming_Network_Port { get; set; }

Property Value

int

Network_Streaming_Output

Gets or sets network streaming output settings.

public INetworkStreamingOutput Network_Streaming_Output { get; set; }

Property Value

INetworkStreamingOutput

Network_Streaming_URL

Gets or sets client connection address. Contains computer name (or IP) and port number.

public string Network_Streaming_URL { get; set; }

Property Value

string

OSD_Enabled

Gets or sets a value indicating whether OSD enabled. Should be set before Play method call.

public bool OSD_Enabled { get; set; }

Property Value

bool

Output_Filename

Gets or sets name of the output file for recording.

public string Output_Filename { get; set; }

Property Value

string

Output_Format

Gets or sets the format of the output file for recording.

public IVideoCaptureBaseOutput Output_Format { get; set; }

Property Value

IVideoCaptureBaseOutput

PIP_AddSampleGrabbers

Gets or sets a value indicating whether video sample grabbers will be added. You can use OnVideoFrameBitmap / OnVideoFrameBuffer to catch frames. SourceName property of event args will be PIP1, PIP2, etc.

public bool PIP_AddSampleGrabbers { get; set; }

Property Value

bool

PIP_ChromaKeySettings

Gets or sets the PIP chroma-key settings.

public PIPChromaKeySettings PIP_ChromaKeySettings { get; set; }

Property Value

PIPChromaKeySettings

PIP_Mode

Gets or sets Picture-In-Picture Mode.

public PIPMode PIP_Mode { get; set; }

Property Value

PIPMode

PIP_ResizeQuality

Gets or sets PIP resize quality.

public PIPResizeQuality PIP_ResizeQuality { get; set; }

Property Value

PIPResizeQuality

Push_Source

Gets or sets push source settings.

public PushSourceSettings Push_Source { get; set; }

Property Value

PushSourceSettings

Screen_Capture_Source

Gets or sets screen capture source settings.

public ScreenCaptureSourceSettings Screen_Capture_Source { get; set; }

Property Value

ScreenCaptureSourceSettings

SeparateCapture_AutostartCapture

Gets or sets a value indicating whether autostart mode enabled.

public bool SeparateCapture_AutostartCapture { get; set; }

Property Value

bool

SeparateCapture_Enabled

Gets or sets a value indicating whether separate capture enabled. Please read article in help file for more information about "separate capture".

public bool SeparateCapture_Enabled { get; set; }

Property Value

bool

SeparateCapture_FileSizeThreshold

Gets or sets time threshold for split by file size mode, in bytes.

public long SeparateCapture_FileSizeThreshold { get; set; }

Property Value

long

SeparateCapture_Filename_Mask

Gets or sets file name mask for split by duration or size. Check available mask samples in remarks.

public string SeparateCapture_Filename_Mask { get; set; }

Property Value

string

Remarks

By default folder that specified in Output_Filename property will be used. Mask contains file name and current date and time with format specifiers supported by DateTime - https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx . Each specifier must have % before name. Final mask looks like output %yyyy-%MM-%dd %hh-%mm-%ss.%ext. %ext specifier - original extension.

SeparateCapture_GMFMode

Gets or sets a value indicating whether GMF mode enabled (default is true). Please read article in help file for more information about "separate capture".

public bool SeparateCapture_GMFMode { get; set; }

Property Value

bool

SeparateCapture_Mode

Gets or sets separate capture mode.

public SeparateCaptureMode SeparateCapture_Mode { get; set; }

Property Value

SeparateCaptureMode

SeparateCapture_TimeThreshold

Gets or sets time threshold for split by duration mode, in milliseconds.

public TimeSpan SeparateCapture_TimeThreshold { get; set; }

Property Value

TimeSpan

Start_DelayEnabled

Gets or sets a value indicating whether delayed start will be enabled. This feature can be used to start multiple SDK controls almost at the same time. If this property set to true use Start as usual to connect to required sources and build graph. At required time call StartDelayed to start capture/preview at almost 0 time, because all preparations is done already.

public bool Start_DelayEnabled { get; set; }

Property Value

bool

TVTuner_Channel

Gets or sets the current TV tuner channel.

[JsonIgnore]
public int TVTuner_Channel { get; set; }

Property Value

int

TVTuner_Country

Gets or sets country name.

public string TVTuner_Country { get; set; }

Property Value

string

TVTuner_FM_Tuning_StartFrequency

Gets or sets start frequency for FM Tuning.

public int TVTuner_FM_Tuning_StartFrequency { get; set; }

Property Value

int

TVTuner_FM_Tuning_Step

Gets or sets step used for FM Tuning.

public int TVTuner_FM_Tuning_Step { get; set; }

Property Value

int

TVTuner_FM_Tuning_StopFrequency

Gets or sets stop frequency for FM Tuning.

public int TVTuner_FM_Tuning_StopFrequency { get; set; }

Property Value

int

TVTuner_Frequency

Gets or sets value of TV Tuner current frequency.

public int TVTuner_Frequency { get; set; }

Property Value

int

TVTuner_InputType

Gets or sets TV input type - Antenna or Cable.

public string TVTuner_InputType { get; set; }

Property Value

string

TVTuner_Mode

Gets or sets current TV tuner mode.

public TVTunerMode TVTuner_Mode { get; set; }

Property Value

TVTunerMode

TVTuner_Name

Gets or sets the current TV tuner. Set this property before you configure TV tuner.

public string TVTuner_Name { get; set; }

Property Value

string

TVTuner_TVFormat

Gets or sets TV format.

public TVTunerVideoFormat TVTuner_TVFormat { get; set; }

Property Value

TVTunerVideoFormat

Tags

Gets or sets tag that will be written to output file.

public MediaFileTags Tags { get; set; }

Property Value

MediaFileTags

Timeshift_Settings

Gets or sets timeshift settings.

public TimeshiftSettings Timeshift_Settings { get; set; }

Property Value

TimeshiftSettings

VLC_Path

Gets or sets LibVLC path. Plugins must be located in VLC\Plugins.

public string VLC_Path { get; set; }

Property Value

string

VideoView

Gets or sets the video view.

[JsonIgnore]
public IVideoView VideoView { get; set; }

Property Value

IVideoView

Video_CaptureDevice

Gets or sets the video capture device. Set this property before you configure video capture.

public VideoCaptureSource Video_CaptureDevice { get; set; }

Property Value

VideoCaptureSource

Video_Crop

Gets or sets video crop settings.

public VideoCropSettings Video_Crop { get; set; }

Property Value

VideoCropSettings

Video_Decoder

Gets or sets video decoder used during IP capture (if FFMPEG decoding is disabled).

public string Video_Decoder { get; set; }

Property Value

string

Video_Effects_AllowMultipleStreams

Gets or sets a value indicating whether video effects can use independent preview/output streams.

public bool Video_Effects_AllowMultipleStreams { get; set; }

Property Value

bool

Video_Effects_Enabled

Gets or sets a value indicating whether video effects (CPU) enabled.

public bool Video_Effects_Enabled { get; set; }

Property Value

bool

Video_Effects_GPU_Enabled

Gets or sets a value indicating whether video effects (GPU) enabled.

public bool Video_Effects_GPU_Enabled { get; set; }

Property Value

bool

Video_Effects_MergeImageLogos

Gets or sets a value indicating whether all image logos will be merged into one. That can improve performance if you have 3 or more image logos.

public bool Video_Effects_MergeImageLogos { get; set; }

Property Value

bool

Video_Effects_MergeTextLogos

Gets or sets a value indicating whether all text logos will be merged into one. That can improve performance if you have 3 or more text logos.

public bool Video_Effects_MergeTextLogos { get; set; }

Property Value

bool

Video_Renderer

Gets or sets video renderer settings.

public VideoRendererSettings Video_Renderer { get; set; }

Property Value

VideoRendererSettings

Video_Resize

Gets or sets video resize settings. Use VideoResizeSettings, MaxineUpscaleSettings or MaxineSuperResSettings classes.

public IVideoResizeSettings Video_Resize { get; set; }

Property Value

IVideoResizeSettings

Video_ResizeOrCrop_Enabled

Gets or sets a value indicating whether resize or crop enabled.

public bool Video_ResizeOrCrop_Enabled { get; set; }

Property Value

bool

Video_Rotation

Gets or sets video rotation mode.

public RotateMode Video_Rotation { get; set; }

Property Value

RotateMode

Video_Sample_Grabber_Enabled

Gets or sets a value indicating whether video sample grabber enabled.

public bool Video_Sample_Grabber_Enabled { get; set; }

Property Value

bool

Video_Sample_Grabber_UseForVideoEffects

Gets or sets a value indicating whether video sample grabber will be used for video effects.

public bool Video_Sample_Grabber_UseForVideoEffects { get; set; }

Property Value

bool

Video_Still_Frames_Grabber_Enabled

Gets or sets a value indicating whether video still frames grabber enabled.

public bool Video_Still_Frames_Grabber_Enabled { get; set; }

Property Value

bool

Virtual_Camera_Output_AlternativeAudioFilterName

Gets or sets the name of the Virtual Camera SDK output alternative audio filter. Filter can be in common or audio renderer category.

public string Virtual_Camera_Output_AlternativeAudioFilterName { get; set; }

Property Value

string

Virtual_Camera_Output_Enabled

Gets or sets a value indicating whether output to virtual video camera enabled.

public bool Virtual_Camera_Output_Enabled { get; set; }

Property Value

bool

Virtual_Camera_Output_LicenseKey

Gets or sets Virtual Camera SDK license key.

public string Virtual_Camera_Output_LicenseKey { get; set; }

Property Value

string

Methods

Additional_Audio_CaptureDevice_Add(string, string)

Adds an additional audio capture device to the capture session, specifying the audio format.

public void Additional_Audio_CaptureDevice_Add(string name, string format)

Parameters

name string

The name of the audio capture device to add.

format string

The desired audio format string.

Additional_Audio_CaptureDevice_Add(string)

Adds an additional audio capture device to the capture session using the default format.

public void Additional_Audio_CaptureDevice_Add(string name)

Parameters

name string

The name of the audio capture device to add.

Additional_Audio_CaptureDevice_Clear()

Clears the list of additional audio capture devices.

public void Additional_Audio_CaptureDevice_Clear()

Additional_Audio_CaptureDevice_GetVolume(int)

Gets the volume of a specific additional audio capture device.

public Tuple<int, bool> Additional_Audio_CaptureDevice_GetVolume(int index)

Parameters

index int

The zero-based index of the additional audio capture device.

Returns

Tuple<int, bool>

A tuple containing the volume level (in percent) and the auto-gain status.

Additional_Audio_CaptureDevice_GetVolumeAsync(int)

Gets the volume of a specific additional audio capture device asynchronously.

public Task<Tuple<int, bool>> Additional_Audio_CaptureDevice_GetVolumeAsync(int index)

Parameters

index int

The zero-based index of the additional audio capture device.

Returns

Task<Tuple<int, bool>>

A task that returns a tuple containing the volume level (in percent) and the auto-gain status.

Additional_Audio_CaptureDevice_SetVolume(int, int, bool)

Sets the volume of a specific additional audio capture device.

public bool Additional_Audio_CaptureDevice_SetVolume(int index, int volume, bool autoGain)

Parameters

index int

The zero-based index of the additional audio capture device.

volume int

The volume level to set, in percent (0-100).

autoGain bool

Set to true to enable automatic gain control.

Returns

bool

true if the operation was successful; otherwise, false.

Additional_Audio_CaptureDevice_SetVolumeAsync(int, int, bool)

Sets the volume of a specific additional audio capture device asynchronously.

public Task<bool> Additional_Audio_CaptureDevice_SetVolumeAsync(int index, int volume, bool autoGain)

Parameters

index int

The zero-based index of the additional audio capture device.

volume int

The volume level to set, in percent (0-100).

autoGain bool

Set to true to enable automatic gain control.

Returns

Task<bool>

A task that returns true if the operation was successful; otherwise, false.

Audio_CaptureDevice_GetDevicePath(int)

Gets the device path for the audio capture device at the specified index.

public string Audio_CaptureDevice_GetDevicePath(int index)

Parameters

index int

The zero-based index of the audio capture device.

Returns

string

The device path string, or an empty string if the index is invalid.

Audio_CaptureDevice_GetMixerValues()

Retrieves the current audio mixer values (volume, brightness, etc.) from the audio capture device.

public AudioMixerValues Audio_CaptureDevice_GetMixerValues()

Returns

AudioMixerValues

An VisioForge.Core.Types.AudioMixerValues object containing the mixer settings, or null if failed.

Audio_CaptureDevice_GetMixerValuesAsync()

Retrieves the current audio mixer values (volume, brightness, etc.) from the audio capture device asynchronously.

public Task<AudioMixerValues> Audio_CaptureDevice_GetMixerValuesAsync()

Returns

Task<AudioMixerValues>

A task that returns an VisioForge.Core.Types.AudioMixerValues object containing the mixer settings, or null if failed.

Audio_CaptureDevice_GetVolume()

Gets the volume of the audio capture device.

public Tuple<int, bool> Audio_CaptureDevice_GetVolume()

Returns

Tuple<int, bool>

A tuple containing the volume level (in percent) and the auto-gain status, or null if failed.

Audio_CaptureDevice_GetVolumeAsync()

Gets the volume of the audio capture device asynchronously.

public Task<Tuple<int, bool>> Audio_CaptureDevice_GetVolumeAsync()

Returns

Task<Tuple<int, bool>>

A task that returns a tuple containing the volume level (in percent) and the auto-gain status.

Audio_CaptureDevice_SetDefault()

Sets the audio capture device to default.

public bool Audio_CaptureDevice_SetDefault()

Returns

bool

true if successful, false otherwise.

Audio_CaptureDevice_SetMixerValue(AudioMixerValues, AudioMixerValueType)

Sets a specific numeric value for an audio mixer control on the capture device.

public bool Audio_CaptureDevice_SetMixerValue(AudioMixerValues value, AudioMixerValueType type)

Parameters

value AudioMixerValues

The audio mixer values object containing the setting.

type AudioMixerValueType

The specific type of mixer value to set (e.g., Volume, Pan, Treble).

Returns

bool

true if the mixer value was set successfully; otherwise, false.

Audio_CaptureDevice_SetMixerValueAsync(AudioMixerValues, AudioMixerValueType)

Sets mixer value for audio capture device (async).

public Task<bool> Audio_CaptureDevice_SetMixerValueAsync(AudioMixerValues value, AudioMixerValueType type)

Parameters

value AudioMixerValues

Value.

type AudioMixerValueType

Type.

Returns

Task<bool>

Task<System.Boolean>.

Audio_CaptureDevice_SetVolume(int, bool)

Sets the volume of the audio capture device.

public bool Audio_CaptureDevice_SetVolume(int volume, bool autoGain)

Parameters

volume int

The volume level to set, in percent (0-100).

autoGain bool

Set to true to enable automatic gain control.

Returns

bool

true if the operation was successful; otherwise, false.

Audio_CaptureDevice_SetVolumeAsync(int, bool)

Sets the volume of the audio capture device asynchronously.

public Task<bool> Audio_CaptureDevice_SetVolumeAsync(int volume, bool autoGain)

Parameters

volume int

The volume level to set, in percent (0-100).

autoGain bool

Set to true to enable automatic gain control.

Returns

Task<bool>

A task that returns true if the operation was successful; otherwise, false.

Audio_CaptureDevice_SettingsDialog_Show(nint, string)

Displays the property page dialog for the specified audio capture device filter.

public void Audio_CaptureDevice_SettingsDialog_Show(nint parent, string deviceName)

Parameters

parent nint

The parent window handle for the dialog.

deviceName string

The name of the audio capture device.

Audio_CaptureDevices()

Gets a list of available audio capture devices.

public ObservableCollection<AudioCaptureDeviceInfo> Audio_CaptureDevices()

Returns

ObservableCollection<AudioCaptureDeviceInfo>

An ObservableCollection<T> containing information about available audio capture devices.

Audio_Codecs()

Gets a list of available audio codecs.

public ObservableCollection<string> Audio_Codecs()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of available audio codecs.

Audio_Effects_Add(int, AudioEffectType, string, bool, TimeSpan, TimeSpan)

Adds an audio effect to the specified stream.

public void Audio_Effects_Add(int streamIndex, AudioEffectType effectType, string name, bool enabled, TimeSpan startTime, TimeSpan stopTime)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

effectType AudioEffectType

The type of audio effect to add.

name string

A unique name for the effect instance.

enabled bool

Initial enabled state.

startTime TimeSpan

Start time for the effect application.

stopTime TimeSpan

Stop time for the effect application.

Audio_Effects_Amplify(int, string, int, bool)

Configure the Amplify effect parameters.

public void Audio_Effects_Amplify(int streamIndex, string name, int volume, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance to configure.

volume int

Amplification level. A value of 10000 means no amplification (1x). 20000 means 2x amplification.

separate bool

true to amplify channels separately (volume array expected if implemented); false to apply the same volume to all channels.

Audio_Effects_BandPass(int, string, float, float, bool)

Configures the Band Pass effect.

public void Audio_Effects_BandPass(int streamIndex, string name, float cutOffHigh, float cutOffLow, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

cutOffHigh float

High cutoff frequency in Hz.

cutOffLow float

Low cutoff frequency in Hz.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_ChannelOrderEx(int, string, byte[,])

Configures the Channel Order effect for channel remapping.

public void Audio_Effects_ChannelOrderEx(int streamIndex, string name, byte[,] orders)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

orders byte[,]

A 2D array defining the channel order.

Audio_Effects_Clear(int)

Clears all audio effects from the specified stream.

public void Audio_Effects_Clear(int streamIndex)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

Audio_Effects_Count(int)

Gets the count of active audio effects on the specified stream.

public int Audio_Effects_Count(int streamIndex)

Parameters

streamIndex int

The index of the audio stream (0-3).

Returns

int

The number of active effects.

Audio_Effects_DS_Chorus(int, string, float, float, float, float, DSChorusPhase, DSChorusWaveForm, float)

Configures the DirectSound Chorus effect parameters.

public void Audio_Effects_DS_Chorus(int streamIndex, string name, float delay, float depth, float feedback, float frequency, DSChorusPhase phase, DSChorusWaveForm waveformTriangle, float wetDryMix)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

delay float

Delay in milliseconds (0.0 - 20.0).

depth float

Modulation depth (0.0 - 100.0).

feedback float

Feedback level (-99.0 - 99.0).

frequency float

Frequency of the LFO (0.0 - 10.0).

phase DSChorusPhase

Phase of the LFO.

waveformTriangle DSChorusWaveForm

LFO waveform type (VisioForge.Core.Types.AudioEffects.DSChorusWaveForm).

wetDryMix float

Ratio of wet (processed) signal to dry (original) signal (0.0 - 100.0).

Audio_Effects_DS_Compressor(int, string, float, float, float, float, float, float)

Configures the DirectSound Compressor effect parameters.

public void Audio_Effects_DS_Compressor(int streamIndex, string name, float attack, float gain, float preDelay, float ratio, float release, float threshold)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

attack float

Attack time in milliseconds (0.01 - 500.0).

gain float

Output gain in dB (-60.0 - 60.0).

preDelay float

Pre-delay in milliseconds (0.0 - 4.0).

ratio float

Compression ratio (1.0 - 100.0).

release float

Release time in milliseconds (50.0 - 3000.0).

threshold float

Compression threshold in dB (-60.0 - 0.0).

Audio_Effects_DS_Distortion(int, string, float, float, float, float, float)

Configures the DirectSound Distortion effect parameters.

public void Audio_Effects_DS_Distortion(int streamIndex, string name, float edge, float gain, float postEQBandwidth, float postEQCenterFrequency, float preLowpassCutOff)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

edge float

Percentage of distortion intensity (0.0 - 100.0).

gain float

Output gain in dB (-60.0 - 0.0).

postEQBandwidth float

Bandwidth of the post-EQ in Hz (100.0 - 8000.0).

postEQCenterFrequency float

Center frequency of the post-EQ in Hz (100.0 - 8000.0).

preLowpassCutOff float

Cutoff frequency of the pre-lowpass filter in Hz (100.0 - 8000.0).

Audio_Effects_DS_Echo(int, string, float, float, float, int, float)

Configures the DirectSound Echo effect parameters.

public void Audio_Effects_DS_Echo(int streamIndex, string name, float feedback, float leftDelay, float rightDelay, int panDelay, float wetDryMix)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

feedback float

Feedback level percentage (0.0 - 100.0).

leftDelay float

Delay for the left channel in milliseconds (1.0 - 2000.0).

rightDelay float

Delay for the right channel in milliseconds (1.0 - 2000.0).

panDelay int

Pan delay (boolean-like integer, 0 or 1), determining capturing delay swapping.

wetDryMix float

Ratio of wet (processed) signal to dry (original) signal (0.0 - 100.0).

Audio_Effects_DS_Flanger(int, string, float, float, float, float, int, DSFlangerWaveForm, float)

Configures the DirectSound Flanger effect parameters.

public void Audio_Effects_DS_Flanger(int streamIndex, string name, float delay, float depth, float feedback, float frequency, int phase, DSFlangerWaveForm waveform, float wetDryMix)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

delay float

Time delay in milliseconds (0.0 - 4.0).

depth float

Modulation depth (0.0 - 100.0).

feedback float

Feedback level (-99.0 - 99.0).

frequency float

Frequency of the LFO (0.0 - 10.0).

phase int

Phase of the LFO (0 - 4), see VisioForge.Core.Types.AudioEffects.DSFlangerPhase for values.

waveform DSFlangerWaveForm

Waveform of the LFO (VisioForge.Core.Types.AudioEffects.DSFlangerWaveForm).

wetDryMix float

Ratio of wet (processed) signal to dry (original) signal (0.0 - 100.0).

Audio_Effects_DS_Gargle(int, string, int, DSGargleWaveForm)

Configures the DirectSound Gargle effect parameters.

public void Audio_Effects_DS_Gargle(int streamIndex, string name, int rateHz, DSGargleWaveForm waveForm)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

rateHz int

Modulation rate in Hz (1 - 1000).

waveForm DSGargleWaveForm

Waveform of the modulation (VisioForge.Core.Types.AudioEffects.DSGargleWaveForm).

Audio_Effects_DS_ParamEQ(int, string, float, float, float)

Configures the DirectSound Parametric Equalizer effect parameters.

public void Audio_Effects_DS_ParamEQ(int streamIndex, string name, float bandwidth, float center, float gain)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

bandwidth float

Bandwidth in semitones (1.0 - 36.0).

center float

Center frequency in Hz (80.0 - 16000.0).

gain float

Gain in dB (-15.0 - 15.0).

Audio_Effects_DS_Reverb(int, string, float, float, float, float, float, DSI3DL2ReverbPreset, int, int, float, int, float, int, int, float)

Configures the DirectSound I3DL2 Reverb effect parameters.

public void Audio_Effects_DS_Reverb(int streamIndex, string name, float decayHFRatio, float decayTime, float density, float diffusion, float HFReference, DSI3DL2ReverbPreset preset, int quality, int reflections, float reflectionsDelay, int reverbValue, float reverbDelay, int room, int roomHF, float roomRollOffFactor)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

decayHFRatio float

Ratio of high-frequency decay time to decay time (0.1 - 2.0).

decayTime float

Decay time in seconds (0.1 - 20.0).

density float

Modal density in percent (0.0 - 100.0).

diffusion float

Echo diffusion in percent (0.0 - 100.0).

HFReference float

Reference high frequency in Hz (20.0 - 20000.0).

preset DSI3DL2ReverbPreset

Environmental preset to load.

quality int

Quality of the reverb (0 - 3).

reflections int

Attentuation of early reflections in dB (-10000 - 1000).

reflectionsDelay float

Delay of early reflections in seconds (0.0 - 0.3).

reverbValue int

Reverb attenuation in dB (-10000 - 2000).

reverbDelay float

Reverb delay in seconds (0.0 - 0.1).

room int

Room attenuation in dB (-10000 - 0).

roomHF int

Room high-frequency attenuation in dB (-10000 - 0).

roomRollOffFactor float

Rolloff factor (0.0 - 10.0).

Audio_Effects_DS_WavesReverb(int, string, float, float, float, float)

Configures the DirectSound Waves Reverb effect parameters.

public void Audio_Effects_DS_WavesReverb(int streamIndex, string name, float highFreqRTRatio, float inGain, float reverbMix, float reverbTime)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

highFreqRTRatio float

Ratio of high-frequency reverb time to reverb time (0.001 - 0.999).

inGain float

Input gain in dB (-96.0 - 0.0).

reverbMix float

Reverb mix in dB (-96.0 - 0.0).

reverbTime float

Reverb time in milliseconds (0.001 - 3000.0).

Audio_Effects_DynamicAmplify(int, string, int, int, int)

Configures the Dynamic Amplify effect parameters.

public void Audio_Effects_DynamicAmplify(int streamIndex, string name, int attackTime, int maxAmplification, int releaseTime)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

attackTime int

Attack time in milliseconds.

maxAmplification int

Maximum amplification level. 10000 = 1x (no amp), 20000 = 2x.

releaseTime int

Release time in milliseconds.

Audio_Effects_DynamicAmplify_GetCurrentAmp(int, string)

Retrieves the current amplification gain (in dB/linear scaler) from the Dynamic Amplify effect.

public double Audio_Effects_DynamicAmplify_GetCurrentAmp(int streamIndex, string name)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 to query the first available instance.

name string

The name of the effect instance.

Returns

double

The current amplification value.

Audio_Effects_Enable(int, string, bool)

Enables selected audio effect.

public void Audio_Effects_Enable(int streamIndex, string name, bool enable)

Parameters

streamIndex int

Stream index.

name string

The name.

enable bool

true if enabled, false if disabled.

Audio_Effects_Equalizer(int, string, bool, float)

Configures the Equalizer effect parameters.

public void Audio_Effects_Equalizer(int streamIndex, string name, bool separate, float maxGainDB = 20)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

separate bool

true to process channels separately; false to apply the same settings to all channels.

maxGainDB float

Maximum gain in dB (default is 20.0).

Audio_Effects_Equalizer_Band_Get(int, string, int)

Gets the current level of audio volume for the selected equalizer band (slider), in %. 0 if error happen.

public int Audio_Effects_Equalizer_Band_Get(int streamIndex, string name, int index)

Parameters

streamIndex int

Stream index.

name string

The name.

index int

Band index.

Returns

int

System.Int32.

Audio_Effects_Equalizer_Band_Set(int, string, int, int)

Sets the gain for a specific band in the Equalizer effect.

public void Audio_Effects_Equalizer_Band_Set(int streamIndex, string name, int index, int value)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

index int

The zero-based index of the frequency band.

value int

The gain value in dB to apply to the band.

Audio_Effects_Equalizer_Preset_Set(int, string, EqualizerPreset)

Applies a preset to the Equalizer effect.

public void Audio_Effects_Equalizer_Preset_Set(int streamIndex, string name, EqualizerPreset preset)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

preset EqualizerPreset

The preset to apply.

Audio_Effects_Equalizer_Presets()

Retrieves the list of available Equalizer presets.

public ObservableCollection<string> Audio_Effects_Equalizer_Presets()

Returns

ObservableCollection<string>

A collection of preset names.

Audio_Effects_Fades(int, string, int, int, TimeSpan, TimeSpan, bool)

Configures the Fade effect parameters.

public void Audio_Effects_Fades(int streamIndex, string name, int startVolume, int stopVolume, TimeSpan startTime, TimeSpan stopTime, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

startVolume int

The starting volume level (0-10000).

stopVolume int

The ending volume level (0-10000).

startTime TimeSpan

The time to start fading.

stopTime TimeSpan

The time to stop fading.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_HighPass(int, string, int, bool)

Configures the High Pass effect parameters.

public void Audio_Effects_HighPass(int streamIndex, string name, int cutOff, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

cutOff int

The cutoff frequency in Hz.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_LowPass(int, string, int, bool)

Configures the Low Pass effect parameters.

public void Audio_Effects_LowPass(int streamIndex, string name, int cutOff, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

cutOff int

The cutoff frequency in Hz.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_Notch(int, string, int, bool)

Configures the Notch effect parameters.

public void Audio_Effects_Notch(int streamIndex, string name, int cutOff, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

cutOff int

The center frequency of the notch filter in Hz.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_PhaseInvert(int, string, bool, bool)

Configures the Phase Invert effect parameters.

public void Audio_Effects_PhaseInvert(int streamIndex, string name, bool invert, bool separate)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

invert bool

true to invert the phase; false to maximize value.

separate bool

true to process channels separately; false to apply the same settings to all channels.

Audio_Effects_Phaser(int, string, byte, byte, byte, float, bool, byte, float)

Configures the Phaser effect parameters.

public void Audio_Effects_Phaser(int streamIndex, string name, byte depth, byte dryWetRatio, byte feedback, float frequency, bool separate, byte stages, float startPhase)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

depth byte

Phaser depth (0 - 255).

dryWetRatio byte

Dry/Wet mix ratio (0 = dry, 255 = wet).

feedback byte

Feedback intensity (-100 to 100).

frequency float

LFO frequency in Hz.

separate bool

true to process channels separately; false to apply the same settings to all channels.

stages byte

Number of phaser stages (recommended 2 - 24).

startPhase float

LFO start phase in radians.

Audio_Effects_PitchShift(int, string, float)

Configures the Pitch Shift effect parameters.

public void Audio_Effects_PitchShift(int streamIndex, string name, float pitch)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

pitch float

The pitch shift factor (1.0 = normal speed/pitch).

Audio_Effects_SetCurrentChannel(int, string, sbyte)

Sets the specific channel layout for audio effects processing.

public void Audio_Effects_SetCurrentChannel(int streamIndex, string name, sbyte channel)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

channel sbyte

The channel index to default to, or -1 to process all channels.

Audio_Effects_Sound3D(int, string, int)

Configures the Sound3D effect parameters.

public void Audio_Effects_Sound3D(int streamIndex, string name, int volume)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

volume int

3D amplification value. 1000 = disabled (no effect). Values less than 1000 mix to mono. Values greater than 1000 amplify difference.

Audio_Effects_TrebleEnhancer(int, string, int, bool, int)

Configures the Treble Enhancer effect parameters.

public void Audio_Effects_TrebleEnhancer(int streamIndex, string name, int frequency, bool separate, int volume)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

frequency int

The crossover frequency for treble amplification.

separate bool

true to process channels separately; false to apply the same settings to all channels.

volume int

Amplification level (0-10000).

Audio_Effects_TrueBass(int, string, int, bool, int)

Configures the True Bass effect parameters.

public void Audio_Effects_TrueBass(int streamIndex, string name, int frequency, bool separate, int volume)

Parameters

streamIndex int

The index of the audio stream (0-3), or -1 for all streams.

name string

The name of the effect instance.

frequency int

The crossover frequency for bass amplification.

separate bool

true to process channels separately; false to apply the same settings to all channels.

volume int

Amplification level (0-10000).

Audio_Enhancer_AutoGain(bool)

Enables or disables audio auto-gain enhancement.

public void Audio_Enhancer_AutoGain(bool enabled)

Parameters

enabled bool

Set to true to enable auto-gain; false to disable.

Audio_Enhancer_AutoGainAsync(bool)

Enables or disables audio auto-gain enhancement asynchronously.

public Task Audio_Enhancer_AutoGainAsync(bool enabled)

Parameters

enabled bool

Set to true to enable auto-gain; false to disable.

Returns

Task

A task that represents the asynchronous operation.

Audio_Enhancer_InputGains(AudioEnhancerGains)

Sets the audio input gains enhancement.

public void Audio_Enhancer_InputGains(AudioEnhancerGains gains)

Parameters

gains AudioEnhancerGains

The audio enhancer gains settings to apply.

Audio_Enhancer_InputGainsAsync(AudioEnhancerGains)

Sets the audio input gains enhancement asynchronously.

public Task Audio_Enhancer_InputGainsAsync(AudioEnhancerGains gains)

Parameters

gains AudioEnhancerGains

The audio enhancer gains settings to apply.

Returns

Task

A task that represents the asynchronous operation.

Audio_Enhancer_Normalize(bool)

Enables or disables audio normalization enhancement.

public void Audio_Enhancer_Normalize(bool enabled)

Parameters

enabled bool

Set to true to enable normalization; false to disable.

Audio_Enhancer_NormalizeAsync(bool)

Enables or disables audio normalization enhancement asynchronously.

public Task Audio_Enhancer_NormalizeAsync(bool enabled)

Parameters

enabled bool

Set to true to enable normalization; false to disable.

Returns

Task

A task that represents the asynchronous operation.

Audio_Enhancer_OutputGains(AudioEnhancerGains)

Sets the audio output gains enhancement.

public void Audio_Enhancer_OutputGains(AudioEnhancerGains gains)

Parameters

gains AudioEnhancerGains

The audio enhancer gains settings to apply.

Audio_Enhancer_OutputGainsAsync(AudioEnhancerGains)

Sets the audio output gains enhancement asynchronously.

public Task Audio_Enhancer_OutputGainsAsync(AudioEnhancerGains gains)

Parameters

gains AudioEnhancerGains

The audio enhancer gains settings to apply.

Returns

Task

A task that represents the asynchronous operation.

Audio_Enhancer_Timeshift(int)

Applies an audio timeshift (delay).

public void Audio_Enhancer_Timeshift(int timeshift)

Parameters

timeshift int

The time shift delay in milliseconds. The valid range is typically [-2000, 2000] or can be clamped by the implementation.

Audio_Enhancer_TimeshiftAsync(int)

Applies an audio timeshift (delay) asynchronously.

public Task Audio_Enhancer_TimeshiftAsync(int timeshift)

Parameters

timeshift int

The time shift delay in milliseconds. The valid range is typically [-2000, 2000] or can be clamped by the implementation.

Returns

Task

A task that represents the asynchronous operation.

Audio_OutputDevice_Balance_Get()

Gets the current balance of the selected audio output device (in percent).

public int Audio_OutputDevice_Balance_Get()

Returns

int

The balance value.

Audio_OutputDevice_Balance_Set(int)

Sets the balance of the selected audio output device (in percent).

public int Audio_OutputDevice_Balance_Set(int balance)

Parameters

balance int

The balance value to set.

Returns

int

The new balance value.

Audio_OutputDevice_Volume_Get()

Gets the current volume of the selected audio output device (in percent).

public int Audio_OutputDevice_Volume_Get()

Returns

int

The volume value.

Audio_OutputDevice_Volume_Set(int)

Sets the volume of the selected audio output device (in percent).

public void Audio_OutputDevice_Volume_Set(int volume)

Parameters

volume int

The volume value to set.

Audio_OutputDevices()

Gets a list of available DirectSound audio output devices.

public ObservableCollection<string> Audio_OutputDevices()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of available audio output devices.

Audio_OutputDevices_WASAPI()

Gets a list of available WASAPI audio output devices.

public ObservableCollection<string> Audio_OutputDevices_WASAPI()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of available WASAPI audio output devices.

BDA_GetParameters()

Retrieves the current BDA tuning parameters.

public BDATuningParameters BDA_GetParameters()

Returns

BDATuningParameters

The VisioForge.Core.Types.VideoCapture.BDATuningParameters object containing the current settings, or null if failed.

BDA_Receivers()

Gets a list of available BDA (Broadcast Driver Architecture) receiver filters.

public ObservableCollection<string> BDA_Receivers()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of available BDA receiver components.

BDA_ScanChannels()

Starts scanning for channels on the BDA device.

public bool BDA_ScanChannels()

Returns

bool

true if scanning started successfully; otherwise, false.

BDA_SetParameters(BDATuningParameters)

Sets the frequency and other tuning parameters for a BDA (Broadcast Driver Architecture) device.

public void BDA_SetParameters(BDATuningParameters bdaTuningParameters)

Parameters

bdaTuningParameters BDATuningParameters

The BDA tuning parameters to set.

BDA_Sources()

Gets a list of available BDA (Broadcast Driver Architecture) source filters.

public ObservableCollection<string> BDA_Sources()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of available BDA source filters.

CallVideoRendererUpdate(int, int, bool)

Updates the video renderer with new dimensions and optionally refreshes the window handle.

public void CallVideoRendererUpdate(int width, int height, bool updateHandle)

Parameters

width int

The new width for the video renderer in pixels.

height int

The new height for the video renderer in pixels.

updateHandle bool

If true, also updates the window handle from the video view.

Remarks

This method is typically called when:

  • The video window is resized
  • The video format changes
  • The rendering surface needs to be refreshed The method updates all active video renderers including the main renderer and any additional screens configured for multi-monitor output.

CaptureScreenToImage()

Captures the entire primary screen to an image.

public Bitmap CaptureScreenToImage()

Returns

Bitmap

A Bitmap containing the screen capture.

CaptureScreenToImage(Rectangle)

Captures a specified region of the screen to an image.

public Bitmap CaptureScreenToImage(Rectangle rect)

Parameters

rect Rectangle

The rectangle defining the region to capture.

Returns

Bitmap

A Bitmap containing the captured region.

CaptureWindowToImage(nint)

Captures the window with the specified handle to a bitmap image.

public Bitmap CaptureWindowToImage(nint windowHandle)

Parameters

windowHandle nint

The handle of the window to capture.

Returns

Bitmap

A Bitmap containing the captured window content.

CaptureWindowToImage(nint, Rectangle)

Captures a specified region within the window with the specified handle to a bitmap image.

public Bitmap CaptureWindowToImage(nint windowHandle, Rectangle rect)

Parameters

windowHandle nint

The handle of the window to capture from.

rect Rectangle

The rectangle defining the region within the window to capture.

Returns

Bitmap

A Bitmap containing the captured region.

ConvertHexStringToByteArray(string)

Converts a hexadecimal string representation into a byte array.

public byte[] ConvertHexStringToByteArray(string hexString)

Parameters

hexString string

Hex string with an even number of characters (e.g. A1B2C3).

Returns

byte[]

Byte array decoded from the hex string.

Exceptions

ArgumentNullException

Thrown when hexString is null.

ArgumentException

Thrown when the hex string has an odd character count.

CreateAsync(IVideoView)

Creates a new instance of VideoCaptureCore asynchronously with a video view.

public static Task<VideoCaptureCore> CreateAsync(IVideoView videoView)

Parameters

videoView IVideoView

The video view control where captured video will be displayed.

Returns

Task<VideoCaptureCore>

A task that represents the asynchronous creation operation. The task result contains the initialized VideoCaptureCore instance.

Remarks

This factory method creates and initializes a VideoCaptureCore instance asynchronously. Use this method when you need to avoid blocking the UI thread during initialization. The video view is attached during creation and will be used for video rendering.

CreateAsync()

Creates a new instance of VideoCaptureCore asynchronously without a video view.

public static Task<VideoCaptureCore> CreateAsync()

Returns

Task<VideoCaptureCore>

A task that represents the asynchronous creation operation. The task result contains the initialized VideoCaptureCore instance.

Remarks

This factory method creates and initializes a VideoCaptureCore instance asynchronously. Use this overload when you don't need video preview or will attach a video view later. This is useful for scenarios like audio-only capture or background processing.

CustomAPICall(string)

Executes custom API commands for internal operations.

public object CustomAPICall(string api)

Parameters

api string

The API command string to execute.

Returns

object

Command-specific result object, or null if the command is not recognized.

Remarks

This method provides access to internal functionality:

  • "CHECK_LICENSE_PREMIUM": Returns true if premium license is valid
  • "IS_LICENSE_SET": Returns true if any license key is configured This method is intended for internal use and may change without notice.

CustomRedist_Enable(bool)

Enables or disables custom redist usage.

public void CustomRedist_Enable(bool enabled)

Parameters

enabled bool

True to enable custom redist, false to disable.

CustomRedist_IsEnabled()

Gets custom redist status.

public bool CustomRedist_IsEnabled()

Returns

bool

The Boolean.

CustomRedist_VirtualCameraRegister()

Registers Virtual Camera SDK and network virtual streaming filters. Admin rights required.

public bool CustomRedist_VirtualCameraRegister()

Returns

bool

The Boolean.

DV_GetMode()

Gets the current DV (Digital Video) mode.

public DVCommand DV_GetMode()

Returns

DVCommand

The current VisioForge.Core.Types.VideoCapture.DVCommand representing the mode.

DV_GetModeAsync()

Gets the current DV (Digital Video) mode asynchronously.

public Task<DVCommand> DV_GetModeAsync()

Returns

Task<DVCommand>

A task representing the asynchronous operation. The task result contains the current VisioForge.Core.Types.VideoCapture.DVCommand representing the mode.

DV_GetTimecode()

Gets the DV timecode.

public Tuple<TimeSpan, uint> DV_GetTimecode()

Returns

Tuple<TimeSpan, uint>

A Tuple<T1,T2> where the TimeSpan is the timecode and the uint is the frame count.

DV_GetTimecodeAsync()

Gets the DV timecode asynchronously.

public Task<Tuple<TimeSpan, uint>> DV_GetTimecodeAsync()

Returns

Task<Tuple<TimeSpan, uint>>

A task representing the asynchronous operation. The task result is a Tuple<T1,T2> where the TimeSpan is the timecode and the uint is the frame count.

DV_GetTimecodeIntl()

Gets DV timecode.

public Tuple<TimeSpan, uint> DV_GetTimecodeIntl()

Returns

Tuple<TimeSpan, uint>

The Tuple. TimeSpan is a timecode, uint is frames count.

DV_SendCommand(DVCommand)

Sends a control command to the DV/HDV camcorder.

public bool DV_SendCommand(DVCommand command)

Parameters

command DVCommand

The VisioForge.Core.Types.VideoCapture.DVCommand to send.

Returns

bool

true if the command was sent successfully; otherwise, false.

DV_SendCommandAsync(DVCommand)

Sends a control command to the DV/HDV camcorder asynchronously.

public Task<bool> DV_SendCommandAsync(DVCommand command)

Parameters

command DVCommand

The VisioForge.Core.Types.VideoCapture.DVCommand to send.

Returns

Task<bool>

A task representing the asynchronous operation. The task result is true if the command was sent successfully; otherwise, false.

DV_SendCommandIntl(DVCommand)

Sends different controlling commands for DV/HDV camcorder (intl).

public bool DV_SendCommandIntl(DVCommand command)

Parameters

command DVCommand

DV command.

Returns

bool

The Boolean.

Gets a list of available DeckLink capture devices asynchronously.

public Task<List<DecklinkDeviceInfo>> Decklink_CaptureDevicesAsync()

Returns

Task<List<DecklinkDeviceInfo>>

A task that represents the asynchronous operation. The task result contains a list of VisioForge.Core.Types.Decklink.DecklinkDeviceInfo objects.

Retrieves the current dropped and total video frame counts from the DeckLink input device.

public bool Decklink_Input_GetVideoFramesCount(out long droppedFrames, out long totalFrames)

Parameters

droppedFrames long

When this method returns, contains the number of dropped frames.

totalFrames long

When this method returns, contains the total number of frames received.

Returns

bool

true if the frame counts were retrieved successfully; otherwise, false.

Retrieves the current dropped and total video frame counts from the DeckLink input device asynchronously.

public Task<Tuple<bool, long, long>> Decklink_Input_GetVideoFramesCountAsync()

Returns

Task<Tuple<bool, long, long>>

A task that returns a tuple containing: success flag, dropped frames count, and total frames count.

Gets a list of available DeckLink output audio renderers.

public string[] Decklink_Output_AudioRenderers()

Returns

string[]

An array of strings containing the names of available audio renderers.

Gets the audio rendering statistics for the DeckLink output.

public DecklinkRendererProps Decklink_Output_GetAudioProps()

Returns

DecklinkRendererProps

A VisioForge.Core.Types.Decklink.DecklinkRendererProps object containing audio statistics, or null if the renderer is not active.

Gets the video rendering statistics for the DeckLink output.

public DecklinkRendererProps Decklink_Output_GetVideoProps()

Returns

DecklinkRendererProps

A VisioForge.Core.Types.Decklink.DecklinkRendererProps object containing video statistics, or null if the renderer is not active.

Gets a list of available DeckLink output video renderers.

public string[] Decklink_Output_VideoRenderers()

Returns

string[]

An array of strings containing the names of available video renderers.

DirectShow_Filter_GetAudioFormats(FilterCategoryX, string, MediaTypeCategory, out List<string>)

Retrieves the supported audio formats for a DirectShow filter.

public void DirectShow_Filter_GetAudioFormats(FilterCategoryX category, string name, MediaTypeCategory mediaType, out List<string> formats)

Parameters

category FilterCategoryX

The filter category.

name string

The name of the filter.

mediaType MediaTypeCategory

The media type category.

formats List<string>

When this method returns, contains a list of strings representing the supported audio formats.

DirectShow_Filter_GetVideoFormats(FilterCategoryX, string, MediaTypeCategory, out List<VideoCaptureDeviceFormat>)

Retrieves the supported video formats for a DirectShow filter.

public void DirectShow_Filter_GetVideoFormats(FilterCategoryX category, string name, MediaTypeCategory mediaType, out List<VideoCaptureDeviceFormat> formats)

Parameters

category FilterCategoryX

The filter category.

name string

The name of the filter.

mediaType MediaTypeCategory

The media type category.

formats List<VideoCaptureDeviceFormat>

When this method returns, contains a list of VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceFormat objects representing the supported formats.

DirectShow_Filters()

Gets a list of all registered DirectShow filters.

public ObservableCollection<string> DirectShow_Filters()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of registered filters.

DirectShow_Filters_Blacklist_Add(string)

Adds a DirectShow filter to the blacklist, preventing it from being used.

public void DirectShow_Filters_Blacklist_Add(string filter)

Parameters

filter string

The name of the filter to blacklist.

DirectShow_Filters_Blacklist_Clear()

Clears the DirectShow filters blacklist, allowing all filters to be used.

public void DirectShow_Filters_Blacklist_Clear()

Remarks

All available filters will be considered for graph building.

DirectShow_Filters_ProblemFilters()

Gets the list of DirectShow filters that have been identified as problematic.

public ObservableCollection<string> DirectShow_Filters_ProblemFilters()

Returns

ObservableCollection<string>

An ObservableCollection<T> containing the names of problematic filters.

DirectShow_Filters_ProblemFilters_Fill()

Populates the list of problematic DirectShow filters by scanning and testing them.

public void DirectShow_Filters_ProblemFilters_Fill()

Remarks

This method scans available filters and identifies those that may cause issues or are known to be incompatible. The scan results are stored in the problem filters list.

Dispose()

Dispose method.

public void Dispose()

Remarks

This method implements the IDisposable pattern and ensures proper cleanup:

  • Stops any active capture or preview
  • Releases all DirectShow filters and COM objects
  • Clears event handlers and callbacks
  • Frees unmanaged resources This method can be called multiple times safely. For async operations, use DisposeAsync instead.

Dispose(bool)

Protected implementation of the dispose pattern.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

If true, disposing of managed resources; if false, only unmanaged resources.

Remarks

This method implements the standard .NET dispose pattern:

  • Sets the disposing flag to prevent re-entrancy
  • Stops any active capture operations
  • Calls DisposeCore to release all resources
  • Marks the object as disposed This method is called by both Dispose() and the finalizer.

DisposeAsync()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

public ValueTask DisposeAsync()

Returns

ValueTask

A task that represents the asynchronous dispose operation.

Duration_Frames()

Gets the current position in the file-based source expressed as a frame number.

public long Duration_Frames()

Returns

long

Estimated frame index based on current position and the input frame rate. Returns the last known frame number if the graph seeking interface is unavailable.

Duration_Time()

Gets the current playback or capture position as a TimeSpan.

public TimeSpan Duration_Time()

Returns

TimeSpan

Current position in the DirectShow graph. Returns Zero when not started, and the cached position when the engine is transitioning (starting or stopping).

~VideoCaptureCore()

Finalizes an instance of the VisioForge.Core.VideoCapture.VideoCaptureCore class.

protected ~VideoCaptureCore()

Frame_GetCurrent()

Gets the current video frame as a Bitmap.

public Bitmap Frame_GetCurrent()

Returns

Bitmap

A Bitmap containing the current video frame, or null if unavailable.

Frame_GetCurrentAsBuffer(out int, out int)

Gets the current video frame as a raw byte array (RGB24 format).

public byte[] Frame_GetCurrentAsBuffer(out int width, out int height)

Parameters

width int

When this method returns, contains the frame width.

height int

When this method returns, contains the frame height.

Returns

byte[]

A byte array containing the frame data, or null if unavailable.

Frame_GetCurrentAsBuffer(ref byte[], out int, out int)

Copies the current video frame data into the provided buffer (RGB24 format).

public bool Frame_GetCurrentAsBuffer(ref byte[] buffer, out int width, out int height)

Parameters

buffer byte[]

The buffer to copy the frame data into. If null, a new buffer will be created.

width int

When this method returns, contains the frame width.

height int

When this method returns, contains the frame height.

Returns

bool

true if the operation was successful; otherwise, false.

Frame_GetCurrentFromRenderer(out TimeSpan)

Gets the current video frame directly from the video renderer (EVR or VMR-9).

public Bitmap Frame_GetCurrentFromRenderer(out TimeSpan timestamp)

Parameters

timestamp TimeSpan

When this method returns, contains the timestamp of the frame.

Returns

Bitmap

A Bitmap containing the current frame, or null if unavailable.

Remarks

Timestamp retrieval is supported for EVR renderer.

Frame_Save(string, ImageFormat, int, int, int)

Saves the current video frame to a file.

public bool Frame_Save(string filename, ImageFormat format, int quality, int customWidth, int customHeight)

Parameters

filename string

The path where the image file will be saved.

format ImageFormat

The image format to use (e.g., JPEG, BMP, PNG).

quality int

The quality level for JPEG images (0-100).

customWidth int

Optional custom width for resizing the saved image. Set to 0 to keep original width.

customHeight int

Optional custom height for resizing the saved image. Set to 0 to keep original height.

Returns

bool

true if the frame was saved successfully; otherwise, false.

Frame_SaveAsync(string, ImageFormat, int, int, int)

Saves the current video frame to a file asynchronously.

public Task<bool> Frame_SaveAsync(string filename, ImageFormat format, int quality = 85, int customWidth = 0, int customHeight = 0)

Parameters

filename string

The path where the image file will be saved.

format ImageFormat

The image format to use (e.g., JPEG, BMP, PNG).

quality int

The quality level for JPEG images (0-100). Default is 85.

customWidth int

Optional custom width for resizing the saved image. Set to 0 to keep original width.

customHeight int

Optional custom height for resizing the saved image. Set to 0 to keep original height.

Returns

Task<bool>

A task representing the asynchronous operation. The task result is true if successful; otherwise, false.

GetCore()

Gets the core VideoCaptureCore instance.

public VideoCaptureCore GetCore()

Returns

VideoCaptureCore

The current instance of VideoCaptureCore.

Remarks

This method provides access to the core capture functionality when the instance is accessed through an interface.

GetLogger()

Gets logger.

public ILogger GetLogger()

Returns

ILogger

Serilog.ILogger.

GetVideoRenderer()

Gets video renderer.

public object GetVideoRenderer()

Returns

object

Returns VisioForge.Core.DirectShow.Classes.DSVideoRendererBase.

GetVideoRendererCore()

Gets the video renderer core.

public IVideoRendererBase GetVideoRendererCore()

Returns

IVideoRendererBase

IVideoRendererBase.

Remarks

This method provides direct access to the underlying video renderer for advanced operations not exposed through the public API. Use with caution as improper use may affect rendering stability. The returned interface depends on the selected renderer type (VMR9, EVR, etc.).

GetVideoResolution()

Gets the video resolution.

public Size GetVideoResolution()

Returns

Size

Types.Size.

Remarks

This method returns the actual resolution of the video being captured, which may differ from the requested resolution due to:

  • Device capabilities
  • Format constraints
  • Automatic resolution selection Returns Size.Empty if no video is being captured.

HWEncodersAvailable()

Queries which hardware video encoders (Intel Quick Sync, NVIDIA NVENC, AMD VCE) are available on this system.

public static HWEncodersAvailableInfo HWEncodersAvailable()

Returns

HWEncodersAvailableInfo

An VisioForge.Core.Types.HWEncodersAvailableInfo instance reporting the availability of each hardware encoder.

Helpful_GetFrameFromFile(string, TimeSpan, bool, MediaPlayerSourceMode)

Gets frame from the file.

public Bitmap Helpful_GetFrameFromFile(string filename, TimeSpan timestamp, bool oldWay, MediaPlayerSourceMode engine)

Parameters

filename string

File name.

timestamp TimeSpan

Timestamp.

oldWay bool

If true - old way (using IMediaDet interface), if false - Sample Grabber will be used.

engine MediaPlayerSourceMode

Engine. LAV and DirectShow are supported.

Returns

Bitmap

Returns frame as image or null if method was unable to get a frame.

Helpful_GetFrameFromFileAsync(string, TimeSpan, bool, MediaPlayerSourceMode)

Gets frame from the file (async).

public Task<Bitmap> Helpful_GetFrameFromFileAsync(string filename, TimeSpan timestamp, bool oldWay, MediaPlayerSourceMode engine)

Parameters

filename string

File name.

timestamp TimeSpan

Timestamp.

oldWay bool

If true - old way (using IMediaDet interface), if false - Sample Grabber will be used.

engine MediaPlayerSourceMode

Engine. LAV and DirectShow are supported.

Returns

Task<Bitmap>

Task<Bitmap>.

IP_Camera_CheckAvailable(IPAddress, int, ProtocolType, TimeSpan)

Checks if an IP camera is available at the specified IP address and port.

public bool IP_Camera_CheckAvailable(IPAddress ip, int port, ProtocolType protocol, TimeSpan timeout)

Parameters

ip IPAddress

The IP address of the camera.

port int

The port number.

protocol ProtocolType

The protocol type (TCP or UDP).

timeout TimeSpan

The timeout duration for the connection attempt.

Returns

bool

true if the camera is available; otherwise, false.

Remarks

This method performs a fast availability check (ping/connect) and does not verify the video stream itself.

IP_Camera_CheckAvailable(Uri, int, ProtocolType, TimeSpan)

Checks if an IP camera is available at the specified URL and port.

public bool IP_Camera_CheckAvailable(Uri url, int port, ProtocolType protocol, TimeSpan timeout)

Parameters

url Uri

The URL of the camera.

port int

The port number.

protocol ProtocolType

The protocol type (TCP or UDP).

timeout TimeSpan

The timeout duration for the connection attempt.

Returns

bool

true if the camera is available; otherwise, false.

Remarks

This method performs a fast availability check (ping/connect) and does not verify the video stream itself.

Exceptions

NullReferenceException

Thrown when url is null.

IP_Camera_NDI_ListSources(bool, string[], string[])

Lists available NDI sources.

public Uri[] IP_Camera_NDI_ListSources(bool showOnlyLocalSources = false, string[] groups = null, string[] extraIPs = null)

Parameters

showOnlyLocalSources bool

Set to true to list only sources on the local machine.

groups string[]

Optional list of groups to search for sources.

extraIPs string[]

Optional list of additional IP addresses to query for sources.

Returns

Uri[]

An array of Uri objects representing the available NDI sources.

IP_Camera_NDI_ListSourcesAsync(bool, string[], string[])

Lists available NDI sources asynchronously.

public Task<Uri[]> IP_Camera_NDI_ListSourcesAsync(bool showOnlyLocalSources = false, string[] groups = null, string[] extraIPs = null)

Parameters

showOnlyLocalSources bool

Set to true to list only sources on the local machine.

groups string[]

Optional list of groups to search for sources.

extraIPs string[]

Optional list of additional IP addresses to query for sources.

Returns

Task<Uri[]>

A task that returns an array of Uri objects representing the available NDI sources.

IP_Camera_ONVIF_ListSourcesAsync(TimeSpan?, CancellationTokenSource?)

Lists available ONVIF sources asynchronously, returning their URIs.

public Task<Uri[]> IP_Camera_ONVIF_ListSourcesAsync(TimeSpan? timeout, CancellationTokenSource? cts)

Parameters

timeout TimeSpan?

The timeout duration for discovery.

cts CancellationTokenSource?

An optional cancellation token to cancel the discovery process.

Returns

Task<Uri[]>

A task that returns an array of Uri objects representing the discovered ONVIF sources.

IP_Camera_ONVIF_ListSourcesAsyncEx(TimeSpan?, CancellationTokenSource?)

Lists available ONVIF sources asynchronously, returning detailed device information.

public Task<IEnumerable<DiscoveryDevice>> IP_Camera_ONVIF_ListSourcesAsyncEx(TimeSpan? timeout, CancellationTokenSource? cts)

Parameters

timeout TimeSpan?

The timeout duration for discovery. Defaults to 5 seconds if null.

cts CancellationTokenSource?

An optional cancellation token to cancel the discovery process.

Returns

Task<IEnumerable<DiscoveryDevice>>

A task that returns a collection of VisioForge.Core.ONVIFDiscovery.Models.DiscoveryDevice objects.

IP_Camera_ONVIF_ListSourcesAsyncEx(Action<DiscoveryDevice>, TimeSpan?, CancellationTokenSource?)

Lists available ONVIF sources asynchronously, invoking a callback for each discovered device.

public Task IP_Camera_ONVIF_ListSourcesAsyncEx(Action<DiscoveryDevice> onDeviceDiscovered, TimeSpan? timeout, CancellationTokenSource? cts)

Parameters

onDeviceDiscovered Action<DiscoveryDevice>

The callback action to invoke when a device is discovered.

timeout TimeSpan?

The timeout duration for discovery. Defaults to 10 seconds if null.

cts CancellationTokenSource?

An optional cancellation token to cancel the discovery process.

Returns

Task

A task representing the asynchronous discovery operation.

IP_Camera_RTSP_FFMPEG_GetPosition()

Gets the current playback position for an RTSP IP camera stream.

public TimeSpan? IP_Camera_RTSP_FFMPEG_GetPosition()

Returns

TimeSpan?

The current position as a TimeSpan, or null if failed.

IP_Camera_RTSP_FFMPEG_GetPositionAsync()

Gets the current playback position for an RTSP IP camera stream asynchronously.

public Task<TimeSpan?> IP_Camera_RTSP_FFMPEG_GetPositionAsync()

Returns

Task<TimeSpan?>

A task that returns the current position as a TimeSpan, or null if failed.

IP_Camera_RTSP_FFMPEG_SetPosition(TimeSpan)

Sets the playback position for an RTSP IP camera stream.

public bool IP_Camera_RTSP_FFMPEG_SetPosition(TimeSpan position)

Parameters

position TimeSpan

The desired playback position.

Returns

bool

true if the position was set successfully; otherwise, false.

IP_Camera_RTSP_FFMPEG_SetPositionAsync(TimeSpan)

Sets the playback position for an RTSP IP camera stream asynchronously.

public Task<bool> IP_Camera_RTSP_FFMPEG_SetPositionAsync(TimeSpan position)

Parameters

position TimeSpan

The desired playback position.

Returns

Task<bool>

A task that returns true if the position was set successfully; otherwise, false.

IsAsync()

Indicates whether the capture instance is configured for asynchronous operation.

public bool IsAsync()

Returns

bool

true if async mode is enabled; false for synchronous operation.

Remarks

When async mode is enabled:

  • Start/Stop operations should use async methods (StartAsync, StopAsync)
  • Events are raised on background threads
  • UI updates require proper thread marshaling This mode is recommended for modern applications to avoid UI blocking.

IsSourceConnected()

Checks if the video source has been successfully connected to the filter graph.

public bool IsSourceConnected()

Returns

bool

true if the source is connected and the OnSourceConnected event has been fired; false otherwise.

Remarks

This property indicates whether the video/audio source has been properly connected to the capture pipeline. The connection is considered complete when the OnSourceConnected event has been triggered. Useful for determining if the capture pipeline is ready for operation.

MotionDetection_Update()

Applies the current VisioForge.Core.VideoCapture.VideoCaptureCore.Motion_Detection settings to the running motion detector filter. Call this after modifying motion detection parameters while the graph is running.

public void MotionDetection_Update()

MultiScreen_AddScreen(nint, int, int)

Adds an additional screen for multi-screen display.

public void MultiScreen_AddScreen(nint screenHandle, int width, int height)

Parameters

screenHandle nint

The handle (HWND) of the window to use as the screen.

width int

The width of the screen in pixels.

height int

The height of the screen in pixels.

MultiScreen_AddScreen(IVideoView, int, int)

Adds an additional screen for multi-screen display using an IVideoView control.

public void MultiScreen_AddScreen(IVideoView videoView, int width, int height)

Parameters

videoView IVideoView

The VisioForge.Core.Types.IVideoView control to use as the screen.

width int

The width of the screen in pixels.

height int

The height of the screen in pixels.

MultiScreen_Clear()

Removes all additional screens and clears the multiscreen configuration.

public void MultiScreen_Clear()

MultiScreen_SetParameters(int, VideoRendererStretchMode, bool, bool)

Sets display parameters for a specific screen in multiscreen mode.

public void MultiScreen_SetParameters(int id, VideoRendererStretchMode stretch, bool flipHorizontal, bool flipVertical)

Parameters

id int

The zero-based index of the screen.

stretch VideoRendererStretchMode

The stretch mode to apply (e.g., Letterbox, Fill).

flipHorizontal bool

true to flip the video horizontally; otherwise, false.

flipVertical bool

true to flip the video vertically; otherwise, false.

MultiScreen_SetParametersAsync(int, VideoRendererStretchMode, bool, bool)

Sets display parameters for a specific screen in multiscreen mode asynchronously.

public Task MultiScreen_SetParametersAsync(int id, VideoRendererStretchMode stretch, bool flipHorizontal, bool flipVertical)

Parameters

id int

The zero-based index of the screen.

stretch VideoRendererStretchMode

The stretch mode to apply (e.g., Letterbox, Fill).

flipHorizontal bool

true to flip the video horizontally; otherwise, false.

flipVertical bool

true to flip the video vertically; otherwise, false.

Returns

Task

A task representing the asynchronous operation.

MultiScreen_SetZoom(int, int, int, int)

Sets zoom properties for a specific screen in multiscreen mode.

public void MultiScreen_SetZoom(int id, int ratio, int shiftX, int shiftY)

Parameters

id int

The zero-based index of the screen.

ratio int

The zoom ratio in percent (e.g., 100 for normal size, 200 for 2x zoom).

shiftX int

The horizontal shift value for the zoomed area.

shiftY int

The vertical shift value for the zoomed area.

MultiScreen_SetZoomAsync(int, int, int, int)

Sets zoom properties for a specific screen in multiscreen mode (async).

public Task MultiScreen_SetZoomAsync(int id, int ratio, int shiftX, int shiftY)

Parameters

id int

The zero-based index of the screen.

ratio int

The zoom ratio in percent (e.g., 100 for normal size, 200 for 2x zoom).

shiftX int

The horizontal shift value for the zoomed area.

shiftY int

The vertical shift value for the zoomed area.

Returns

Task

A task representing the asynchronous operation.

MultiScreen_UpdateSize(int, int, int)

Updates the size of a specific screen in multiscreen mode.

public void MultiScreen_UpdateSize(int id, int width, int height)

Parameters

id int

The zero-based index of the screen.

width int

The new width of the screen in pixels.

height int

The new height of the screen in pixels.

MultiScreen_UpdateSizeAsync(int, int, int)

Updates the size of a specific screen in multiscreen mode (async).

public Task MultiScreen_UpdateSizeAsync(int id, int width, int height)

Parameters

id int

The zero-based index of the screen.

width int

The new width of the screen in pixels.

height int

The new height of the screen in pixels.

Returns

Task

A task representing the asynchronous operation.

NDI_ListSourcesExAsync(BaseContext, bool, string[], string[])

List NDI sources.

public static Task<Uri[]> NDI_ListSourcesExAsync(BaseContext context, bool showOnlyLocalSources = false, string[] groups = null, string[] extraIPs = null)

Parameters

context BaseContext

Context.

showOnlyLocalSources bool

True to list only sources on this PC.

groups string[]

Which groups do you want to search in for sources.

extraIPs string[]

The list of additional IP addresses that exist that we should query for sources on. For instance, if you want to find the sources on a remote machine that is not on your local sub-net then you can put a comma separated list of those IP addresses here and those sources will be available locally even though they are not mDNS discoverable. An example might be "12.0.0.8,13.0.12.8".

Returns

Task<Uri[]>

Uri[].

Network_Streaming_WMV_Access_AddItem(string, string, bool)

Adds network address to the list of allowed/disallowed addresses for network streaming.

public bool Network_Streaming_WMV_Access_AddItem(string ip, string mask, bool blocked)

Parameters

ip string

IP address.

mask string

Mask.

blocked bool

true to block IP.

Returns

bool

true if successful, false otherwise.

Network_Streaming_WMV_Access_DeleteItem(int, bool)

Networks the streaming WMV access delete item.

public bool Network_Streaming_WMV_Access_DeleteItem(int index, bool blocked)

Parameters

index int

The index.

blocked bool

if set to true blocked.

Returns

bool

true if successful, false otherwise.

Network_Streaming_WMV_Access_GetCount(bool)

Gets item count of allowed/disallowed addresses list.

public int Network_Streaming_WMV_Access_GetCount(bool blocked)

Parameters

blocked bool

True to get count of items of blocked IP list.

Returns

int

System.Int32.

Network_Streaming_WMV_Clients_GetCount()

Gets current connected clients count.

public int Network_Streaming_WMV_Clients_GetCount()

Returns

int

System.Int32.

Network_Streaming_WMV_Clients_GetInfo(int, out int, out string, out string)

Gets information about selected client.

public void Network_Streaming_WMV_Clients_GetInfo(int index, out int port, out string networkAddress, out string dnsName)

Parameters

index int

Client index.

port int

Port.

networkAddress string

IP address.

dnsName string

DNS name.

OSD_Layers_Clear()

Clears all On-Screen Display (OSD) layers from the collection and removes any overlay from the video.

public void OSD_Layers_Clear()

Remarks

This method removes all OSD layers and creates a transparent overlay to clear any existing OSD from the video. Use this method to completely reset the OSD system. After calling this method, you'll need to create new layers if you want to display OSD again.

OSD_Layers_Clear(int)

Clears the content of a specific On-Screen Display (OSD) layer.

public void OSD_Layers_Clear(int id)

Parameters

id int

The zero-based index of the OSD layer to clear.

Remarks

This method clears all drawings from the specified layer by creating a new transparent bitmap. The layer remains in the collection and retains its size and position settings. The graphics object is recreated with high-quality rendering settings. Call OSD_Layers_Render after clearing to update the video display.

OSD_Layers_Create(int, int, int, int, bool)

Creates a new On-Screen Display (OSD) layer.

public bool OSD_Layers_Create(int left, int top, int width, int height, bool enabled)

Parameters

left int

The left position of the layer relative to the video frame.

top int

The top position of the layer relative to the video frame.

width int

The width of the layer in pixels.

height int

The height of the layer in pixels.

enabled bool

If true, the layer will be visible immediately; if false, it will be hidden.

Returns

bool

true if the layer was successfully created; false if an error occurred.

Remarks

Creates a new transparent layer that can be drawn on using other OSD methods. The layer is added to the internal collection and assigned an ID based on its index. Use the returned index (collection count - 1) to reference this layer in other methods.

OSD_Layers_Delete(int)

Deletes a specific On-Screen Display (OSD) layer from the collection.

public bool OSD_Layers_Delete(int id)

Parameters

id int

The zero-based index of the OSD layer to delete.

Returns

bool

true if the layer was successfully deleted; false if the operation failed or the ID is invalid.

Remarks

This method permanently removes the layer from the collection. All layers with higher indices will shift down by one position. After deletion, the OSD is automatically updated to reflect the change. The video renderer must be initialized before calling this method.

OSD_Layers_Draw_Image(int, string, int, int, bool, Color)

Draws an image from a file onto the specified OSD layer.

public bool OSD_Layers_Draw_Image(int id, string filename, int left, int top, bool useColorKey = false, Color colorKey = default)

Parameters

id int

The zero-based index of the OSD layer to draw on.

filename string

The full path to the image file to draw.

left int

The left position where the image will be drawn on the layer.

top int

The top position where the image will be drawn on the layer.

useColorKey bool

If true, treats the specified color as transparent.

colorKey Color

The color to treat as transparent when useColorKey is true.

Returns

bool

true if the image was successfully drawn; false if the operation failed.

Remarks

The image is drawn at its original size at the specified position. Color keying allows you to make a specific color transparent, useful for logos with backgrounds. Call OSD_Layers_Render after drawing to update the video display. Supported image formats depend on the system's installed codecs (typically BMP, JPG, PNG, GIF).

OSD_Layers_Draw_Image(int, string, Rectangle, Rectangle, bool, Color)

Draws a portion of an image from a file onto the specified OSD layer with scaling support.

public bool OSD_Layers_Draw_Image(int id, string filename, Rectangle srcRect, Rectangle destRect, bool useColorKey = false, Color colorKey = default)

Parameters

id int

The zero-based index of the OSD layer to draw on.

filename string

The full path to the image file to draw.

srcRect Rectangle

The source rectangle defining which portion of the image to draw. Use Rectangle.Empty to draw the entire image.

destRect Rectangle

The destination rectangle on the layer. Width/height of 0 uses the source image dimensions.

useColorKey bool

If true, treats the specified color as transparent.

colorKey Color

The color to treat as transparent when useColorKey is true.

Returns

bool

true if the image was successfully drawn; false if the operation failed.

Remarks

This overload allows you to draw a specific portion of an image and scale it to fit a destination rectangle. Useful for sprite sheets, image atlases, or when you need to crop and scale images. The destination position is specified by destRect.X and destRect.Y.

OSD_Layers_Draw_Image(int, Bitmap, Rectangle, Rectangle, bool, Color)

Draws a Bitmap object onto the specified OSD layer with advanced positioning and scaling options.

public bool OSD_Layers_Draw_Image(int id, Bitmap image, Rectangle srcRect, Rectangle destRect, bool useColorKey = false, Color colorKey = default)

Parameters

id int

The zero-based index of the OSD layer to draw on.

image Bitmap

The Bitmap object to draw. Must not be null.

srcRect Rectangle

The source rectangle defining which portion of the image to draw. Use Rectangle.Empty to draw the entire image.

destRect Rectangle

The destination rectangle on the layer. Width/height of 0 uses the source image dimensions.

useColorKey bool

If true, treats the specified color as transparent.

colorKey Color

The color to treat as transparent when useColorKey is true.

Returns

bool

true if the image was successfully drawn; false if the operation failed.

Remarks

This is the core image drawing method that other overloads call. It provides full control over source cropping and destination scaling. The image is drawn using high-quality interpolation settings. Color keying is implemented using GDI+ ImageAttributes.

Exceptions

ArgumentNullException

Thrown when the image parameter is null.

OSD_Layers_Draw_Text(int, int, int, string, Font, Color)

Draws text onto the specified OSD layer.

public bool OSD_Layers_Draw_Text(int id, int left, int top, string text, Font font, Color color)

Parameters

id int

The zero-based index of the OSD layer to draw on.

left int

The left position where the text will be drawn.

top int

The top position where the text will be drawn.

text string

The text string to display.

font Font

The font to use for rendering the text.

color Color

The color of the text.

Returns

bool

true if the text was successfully drawn; false if the operation failed.

Remarks

The text is rendered with anti-aliasing for smooth appearance. The position specifies the top-left corner of the text bounding box. Call OSD_Layers_Render after drawing to update the video display. For dynamic text updates, consider clearing the layer first or using a dedicated layer for text.

OSD_Layers_Enable(int, bool)

Enables or disables a specific On-Screen Display (OSD) layer.

public void OSD_Layers_Enable(int id, bool enabled)

Parameters

id int

The zero-based index of the OSD layer to enable or disable.

enabled bool

If true, the layer will be rendered; if false, it will be hidden.

Remarks

Disabled layers remain in memory but are not rendered to the video output. Call OSD_Layers_Render after changing the enabled state to see the effect. If the ID is invalid, an error will be logged but no exception will be thrown.

OSD_Layers_GetBitmap(int, out Bitmap)

Retrieves the Bitmap object for the specified OSD layer.

public bool OSD_Layers_GetBitmap(int id, out Bitmap bitmap)

Parameters

id int

The zero-based index of the OSD layer.

bitmap Bitmap

When this method returns, contains the Bitmap object of the layer, or null if the operation failed.

Returns

bool

true if the bitmap was successfully retrieved; false if the operation failed or the ID is invalid.

Remarks

This method provides direct access to the layer's bitmap for advanced manipulation. The returned bitmap is a reference to the actual layer bitmap, not a copy. Modifications to the returned bitmap will affect the OSD display after calling OSD_Layers_Render. Do not dispose of the returned bitmap as it's managed by the OSD system.

OSD_Layers_Move(int, int, int)

Moves an On-Screen Display (OSD) layer to a new position.

public bool OSD_Layers_Move(int id, int x, int y)

Parameters

id int

The zero-based index of the OSD layer to move.

x int

The new X coordinate (left position) for the layer.

y int

The new Y coordinate (top position) for the layer.

Returns

bool

true if the layer was successfully moved; false if the operation failed or the ID is invalid.

Remarks

This method updates the position of an existing OSD layer and re-renders all layers. The coordinates are relative to the top-left corner of the video frame. The video renderer must be initialized before calling this method.

OSD_Layers_Render()

Renders all enabled On-Screen Display (OSD) layers to the video output.

public bool OSD_Layers_Render()

Returns

bool

true if the layers were successfully rendered; false if rendering failed or no layers are enabled.

Remarks

This method combines all enabled OSD layers into a single bitmap and applies it to the video renderer. It automatically clears the OSD if no layers are enabled. The method requires the video to be playing or in preview mode, and the video dimensions must be known. The rendered OSD will match the video dimensions for proper overlay alignment.

OSD_Layers_SetTransparency(int, byte)

Sets the transparency level for the specified OSD layer.

public bool OSD_Layers_SetTransparency(int id, byte value)

Parameters

id int

The zero-based index of the OSD layer.

value byte

The transparency level (0 = fully transparent, 255 = fully opaque).

Returns

bool

true if the transparency was successfully set; false if the operation failed or the ID is invalid.

Remarks

This method sets the overall transparency for the entire layer, affecting all content drawn on it. The transparency is applied when the layer is rendered to the video. Call OSD_Layers_Render after changing transparency to see the effect. This is useful for creating semi-transparent overlays or fading effects.

OnPropertyChanged(string)

Raises the PropertyChanged event for the specified property.

protected virtual void OnPropertyChanged(string propertyName = null)

Parameters

propertyName string

Name of the property that changed. Automatically populated by the compiler when called from a property setter.

Remarks

This method is typically called from property setters to notify listeners of property changes. The CallerMemberName attribute allows the property name to be automatically determined.

OutputFilename_ChangeOnTheFly(string)

Changes the output filename on the fly during capture.

public bool OutputFilename_ChangeOnTheFly(string filename)

Parameters

filename string

The new output filename.

Returns

bool

true if the filename was successfully changed; otherwise, false.

OutputFilename_ChangeOnTheFlyAsync(string)

Changes the output filename on the fly during capture (async).

public Task<bool> OutputFilename_ChangeOnTheFlyAsync(string filename)

Parameters

filename string

The new output filename.

Returns

Task<bool>

A task representing the asynchronous operation. The task result is true if successful; otherwise, false.

PIP_Background_Color_Set(Color)

Sets the background color for Picture-In-Picture composition.

public void PIP_Background_Color_Set(Color color)

Parameters

color Color

The background color to use when PIP sources don't fill the entire output area.

Remarks

This color is visible in areas not covered by PIP sources or the main video. It's particularly useful in Custom and 2x2 PIP modes where gaps may exist between sources.

PIP_Background_Image_Clear()

Clears the background image for Picture-In-Picture composition.

public void PIP_Background_Image_Clear()

Remarks

After clearing, only the background color will be visible in areas not covered by PIP sources.

PIP_Background_Image_Set(string)

Sets a background image for Picture-In-Picture composition.

public void PIP_Background_Image_Set(string filename)

Parameters

filename string

The full path to the image file to use as background.

Remarks

The background image is displayed behind all PIP sources. Supported image formats depend on the underlying DirectShow filters installed. Common formats include BMP, JPG, PNG, etc.

PIP_CustomOutputSize_Clear()

Clears the custom output size for Picture-In-Picture composition.

public void PIP_CustomOutputSize_Clear()

Remarks

After clearing, the output size will default to the main video source dimensions. This method only affects Custom PIP mode.

PIP_CustomOutputSize_Set(int, int)

Sets a custom output size for Picture-In-Picture composition when using Custom mode.

public void PIP_CustomOutputSize_Set(int width, int height)

Parameters

width int

The desired output width in pixels.

height int

The desired output height in pixels.

Remarks

This method only applies when PIP_Mode is set to PIPMode.Custom. It allows you to specify the exact dimensions of the composed output video. If not set, the output size defaults to the main video source dimensions.

PIP_Sources_Add_IPCamera(IPCameraSourceSettings, int, int, int, int)

Adds an IP camera as a Picture-In-Picture source.

public bool PIP_Sources_Add_IPCamera(IPCameraSourceSettings source, int outLeft, int outTop, int outWidth, int outHeight)

Parameters

source IPCameraSourceSettings

The IP camera source settings including URL, credentials, and engine type.

outLeft int

The left position of the PIP window in the output video.

outTop int

The top position of the PIP window in the output video.

outWidth int

The width of the PIP window in the output video.

outHeight int

The height of the PIP window in the output video.

Returns

bool

true if the IP camera was successfully added; false if an error occurred.

Remarks

Supports various IP camera protocols including RTSP, HTTP MJPEG, MMS, and NDI. The camera stream will be rendered at the specified position and size in the composed output. Default transparency is set to 255 (fully opaque).

PIP_Sources_Add_ScreenSource(ScreenCaptureSourceSettings, int, int, int, int)

Adds a screen capture source as a Picture-In-Picture source.

public bool PIP_Sources_Add_ScreenSource(ScreenCaptureSourceSettings screenSource, int outLeft, int outTop, int outWidth, int outHeight)

Parameters

screenSource ScreenCaptureSourceSettings

The screen capture settings including capture area, display index, and mouse cursor options.

outLeft int

The left position of the PIP window in the output video.

outTop int

The top position of the PIP window in the output video.

outWidth int

The width of the PIP window in the output video.

outHeight int

The height of the PIP window in the output video.

Returns

bool

true if the screen source was successfully added; false if an error occurred.

Remarks

Captures a portion or all of the screen/window and renders it as a PIP source. Supports desktop duplication engine for better performance on supported systems. Default transparency is set to 255 (fully opaque).

PIP_Sources_Add_VideoCaptureDevice(string, string, bool, VideoFrameRate, string, int, int, int, int)

Adds a video capture device as a Picture-In-Picture source.

public bool PIP_Sources_Add_VideoCaptureDevice(string deviceName, string format, bool useBestFormat, VideoFrameRate frameRate, string input, int left, int top, int width, int height)

Parameters

deviceName string

The name of the video capture device. You can use the device path for devices with duplicate names.

format string

The desired video format (e.g., "YUY2 640x480"). Pass null to use default.

useBestFormat bool

If true, automatically selects the best available format, ignoring the format parameter.

frameRate VideoFrameRate

The desired frame rate for capture.

input string

The crossbar input name (e.g., "Video Composite In"). Pass null if no crossbar.

left int

The left position of the PIP window in the output video.

top int

The top position of the PIP window in the output video.

width int

The width of the PIP window in the output video.

height int

The height of the PIP window in the output video.

Returns

bool

true if the device was successfully added; false if an error occurred.

Remarks

This method creates a new VideoCaptureSource internally with the specified parameters. Default transparency is set to 255 (fully opaque). Use PIP_Sources_Device_GetCrossbar to get available crossbar inputs.

PIP_Sources_Add_VideoCaptureDevice(VideoCaptureSource, int, int, int, int, string)

Adds a video capture device as a Picture-In-Picture source using an existing device configuration.

public bool PIP_Sources_Add_VideoCaptureDevice(VideoCaptureSource device, int left, int top, int width, int height, string crossbarInput = null)

Parameters

device VideoCaptureSource

The pre-configured video capture device source object.

left int

The left position of the PIP window in the output video.

top int

The top position of the PIP window in the output video.

width int

The width of the PIP window in the output video.

height int

The height of the PIP window in the output video.

crossbarInput string

The crossbar input name (e.g., "Video Composite In"). Pass null if no crossbar.

Returns

bool

true if the device was successfully added; false if an error occurred.

Remarks

This overload allows you to pass a pre-configured VideoCaptureSource object. This is useful when you need to set advanced properties on the device before adding it. Default transparency is set to 255 (fully opaque).

PIP_Sources_Add_VideoFile(string, int, int, int, int)

Adds a video file as a Picture-In-Picture source.

public bool PIP_Sources_Add_VideoFile(string filename, int outLeft, int outTop, int outWidth, int outHeight)

Parameters

filename string

The full path to the video file to add.

outLeft int

The left position of the PIP window in the output video.

outTop int

The top position of the PIP window in the output video.

outWidth int

The width of the PIP window in the output video.

outHeight int

The height of the PIP window in the output video.

Returns

bool

true if the video file was successfully added; false if an error occurred.

Remarks

The video file will be decoded and rendered at the specified position and size. Supported formats depend on installed DirectShow codecs. Default transparency is set to 255 (fully opaque).

PIP_Sources_Clear()

Clears all Picture-In-Picture (PIP) sources from the collection.

public void PIP_Sources_Clear()

Remarks

This method removes all configured PIP devices from the internal collection. Call this method before reconfiguring PIP sources or when cleaning up resources.

PIP_Sources_Count()

Gets the count of Picture-In-Picture (PIP) sources currently configured.

public int PIP_Sources_Count()

Returns

int

The number of PIP sources in the collection.

Remarks

Use this method to determine how many PIP sources have been added to the capture configuration.

PIP_Sources_Delete(int)

Deletes a Picture-In-Picture (PIP) device from the collection at the specified index.

public bool PIP_Sources_Delete(int index)

Parameters

index int

The zero-based index of the PIP source to remove.

Returns

bool

true if the device was successfully removed; false if the index was invalid or an error occurred.

Remarks

This method safely removes a PIP source from the collection. If the index is out of range, the method returns false without throwing an exception.

PIP_Sources_Device_GetCrossbar(string)

Initializes and retrieves crossbar information from the specified video capture device.

public bool PIP_Sources_Device_GetCrossbar(string deviceName)

Parameters

deviceName string

The name of the video capture device to query for crossbar information.

Returns

bool

true if the crossbar was successfully initialized and queried; false otherwise.

Remarks

This method retrieves the crossbar configuration for a video capture device, which allows switching between different input sources (e.g., Composite, S-Video, etc.). The crossbar inputs are stored internally and can be retrieved using PIP_Sources_Device_GetCrossbarInputs.

PIP_Sources_Device_GetCrossbarInputs()

Gets the list of available crossbar inputs for the previously queried device.

public ObservableCollection<string> PIP_Sources_Device_GetCrossbarInputs()

Returns

ObservableCollection<string>

An observable collection containing the names of available crossbar inputs.

Remarks

Call PIP_Sources_Device_GetCrossbar first to populate the crossbar input list. The returned collection typically contains input names like "Video Composite In", "Video SVideo In", etc.

PIP_Sources_ScreenSource_Update(int, int, int, bool)

Updates the capture area and settings for a screen capture PIP source synchronously.

public bool PIP_Sources_ScreenSource_Update(int index, int left, int top, bool grabMouseCursor)

Parameters

index int

The one-based index of the PIP source to update (must be a screen capture source).

left int

The new left coordinate of the capture area on the screen.

top int

The new top coordinate of the capture area on the screen.

grabMouseCursor bool

If true, includes the mouse cursor in the capture.

Returns

bool

true if the settings were successfully updated; false if the operation failed.

Remarks

This method only works with PIP sources that were added as screen capture sources. It allows dynamic updating of the capture area during playback. This is the synchronous version - use PIP_Sources_ScreenSource_UpdateAsync for asynchronous operations.

PIP_Sources_ScreenSource_UpdateAsync(int, int, int, bool)

Updates the capture area and settings for a screen capture PIP source asynchronously.

public Task<bool> PIP_Sources_ScreenSource_UpdateAsync(int index, int left, int top, bool grabMouseCursor)

Parameters

index int

The one-based index of the PIP source to update (must be a screen capture source).

left int

The new left coordinate of the capture area on the screen.

top int

The new top coordinate of the capture area on the screen.

grabMouseCursor bool

If true, includes the mouse cursor in the capture.

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

This method only works with PIP sources that were added as screen capture sources. It allows dynamic updating of the capture area during playback.

PIP_Sources_SetFlipSettings(int, bool, bool)

Sets flip settings for the selected Picture-In-Picture device synchronously.

public bool PIP_Sources_SetFlipSettings(int index, bool horizontal, bool vertical)

Parameters

index int

The one-based index of the PIP source to configure.

horizontal bool

If true, flips the video horizontally (mirror effect).

vertical bool

If true, flips the video vertically.

Returns

bool

true if the flip settings were successfully applied; false if the operation failed.

Remarks

This method provides a convenient way to adjust only the flip settings without affecting other visual properties. This is the synchronous version - use PIP_Sources_SetFlipSettingsAsync for asynchronous operations.

PIP_Sources_SetFlipSettingsAsync(int, bool, bool)

Sets flip settings for the selected Picture-In-Picture device asynchronously.

public Task<bool> PIP_Sources_SetFlipSettingsAsync(int index, bool horizontal, bool vertical)

Parameters

index int

The one-based index of the PIP source to configure.

horizontal bool

If true, flips the video horizontally (mirror effect).

vertical bool

If true, flips the video vertically.

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

This method provides a convenient way to adjust only the flip settings without affecting other visual properties. Changes are applied immediately if capture is running.

PIP_Sources_SetSourceOrder(int, int)

Sets the Z-order (layering order) of a Picture-In-Picture source synchronously.

public bool PIP_Sources_SetSourceOrder(int index, int order)

Parameters

index int

The one-based index of the PIP source to reorder.

order int

The new Z-order position (0 is bottom/back, higher values are on top/front). Valid range: 0 to (stream count - 1).

Returns

bool

true if the order was successfully updated; false if the operation failed.

Remarks

Use this method to change which PIP sources appear in front of or behind others. Lower order values place the source behind higher values. This is the synchronous version - use PIP_Sources_SetSourceOrderAsync for asynchronous operations.

PIP_Sources_SetSourceOrderAsync(int, int)

Sets the Z-order (layering order) of a Picture-In-Picture source asynchronously.

public Task<bool> PIP_Sources_SetSourceOrderAsync(int index, int order)

Parameters

index int

The one-based index of the PIP source to reorder.

order int

The new Z-order position (0 is bottom/back, higher values are on top/front). Valid range: 0 to (stream count - 1).

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

Use this method to change which PIP sources appear in front of or behind others. Lower order values place the source behind higher values.

PIP_Sources_SetSourcePosition(int, Rectangle)

Sets the position of the video screen for the selected Picture-In-Picture device synchronously.

public bool PIP_Sources_SetSourcePosition(int index, Rectangle rect)

Parameters

index int

The one-based index of the PIP source to reposition (1 for first PIP source, 2 for second, etc.).

rect Rectangle

The rectangle defining the new position and size of the PIP source (Left, Top, Width, Height).

Returns

bool

true if the position was successfully updated; false if the operation failed or capture is not started.

Remarks

This method allows dynamic repositioning of PIP sources during playback. The rectangle coordinates are relative to the output video frame. This is the synchronous version - use PIP_Sources_SetSourcePositionAsync for asynchronous operations.

PIP_Sources_SetSourcePositionAsync(int, Rectangle)

Sets the position of the video screen for the selected Picture-In-Picture device asynchronously.

public Task<bool> PIP_Sources_SetSourcePositionAsync(int index, Rectangle rect)

Parameters

index int

The one-based index of the PIP source to reposition (1 for first PIP source, 2 for second, etc.).

rect Rectangle

The rectangle defining the new position and size of the PIP source (Left, Top, Width, Height).

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

This method allows dynamic repositioning of PIP sources during playback. The rectangle coordinates are relative to the output video frame. This is the asynchronous version - use PIP_Sources_SetSourcePosition for synchronous operations.

PIP_Sources_SetSourceSettings(int, int, bool, bool, bool)

Sets visual settings for the selected Picture-In-Picture device synchronously.

public bool PIP_Sources_SetSourceSettings(int index, int transparency, bool flipX, bool flipY, bool disabled = false)

Parameters

index int

The one-based index of the PIP source to configure.

transparency int

The transparency level (0-255, where 0 is fully transparent and 255 is fully opaque).

flipX bool

If true, flips the video horizontally (mirror effect).

flipY bool

If true, flips the video vertically.

disabled bool

If true, disables the PIP stream (hides it from view).

Returns

bool

true if the settings were successfully applied; false if the operation failed.

Remarks

This method allows you to adjust visual properties of PIP sources. Changes are applied immediately if capture is running, or stored for later if not. This is the synchronous version - use PIP_Sources_SetSourceSettingsAsync for asynchronous operations.

PIP_Sources_SetSourceSettingsAsync(int, int, bool, bool, bool)

Sets visual settings for the selected Picture-In-Picture device asynchronously.

public Task<bool> PIP_Sources_SetSourceSettingsAsync(int index, int transparency, bool flipX, bool flipY, bool disabled = false)

Parameters

index int

The one-based index of the PIP source to configure.

transparency int

The transparency level (0-255, where 0 is fully transparent and 255 is fully opaque).

flipX bool

If true, flips the video horizontally (mirror effect).

flipY bool

If true, flips the video vertically.

disabled bool

If true, disables the PIP stream (hides it from view).

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

This method allows you to adjust visual properties of PIP sources during playback. Changes are applied immediately if capture is running.

PIP_Sources_SetTransparencySettings(int, double)

Sets transparency settings for the selected Picture-In-Picture device synchronously.

public bool PIP_Sources_SetTransparencySettings(int index, double transparency)

Parameters

index int

The one-based index of the PIP source to configure.

transparency double

The transparency level as a normalized value (0.0 = fully transparent, 1.0 = fully opaque).

Returns

bool

true if the transparency was successfully set; false if the operation failed.

Remarks

This method provides finer control over transparency using normalized floating-point values. The value is internally converted to the 0-255 range used by the filter. This is the synchronous version - use PIP_Sources_SetTransparencySettingsAsync for asynchronous operations.

PIP_Sources_SetTransparencySettingsAsync(int, double)

Sets transparency settings for the selected Picture-In-Picture device asynchronously.

public Task<bool> PIP_Sources_SetTransparencySettingsAsync(int index, double transparency)

Parameters

index int

The one-based index of the PIP source to configure.

transparency double

The transparency level as a normalized value (0.0 = fully transparent, 1.0 = fully opaque).

Returns

Task<bool>

A task that represents the asynchronous operation. The task result contains true if successful; false otherwise.

Remarks

This method provides finer control over transparency using normalized floating-point values. The value is internally converted to the 0-255 range used by the filter.

PIP_Video_CaptureDevice_CameraControl_Get(string, CameraControlProperty)

Gets the current value of a camera control property for a PIP capture device synchronously.

public VideoCaptureDeviceCameraControlValue PIP_Video_CaptureDevice_CameraControl_Get(string deviceName, CameraControlProperty property)

Parameters

deviceName string
property CameraControlProperty

Returns

VideoCaptureDeviceCameraControlValue

PIP_Video_CaptureDevice_CameraControl_GetAsync(string, CameraControlProperty)

Gets the current value of a camera control property for a PIP capture device asynchronously.

public Task<VideoCaptureDeviceCameraControlValue> PIP_Video_CaptureDevice_CameraControl_GetAsync(string deviceName, CameraControlProperty property)

Parameters

deviceName string
property CameraControlProperty

Returns

Task<VideoCaptureDeviceCameraControlValue>

PIP_Video_CaptureDevice_CameraControl_GetRange(string, CameraControlProperty)

Gets the available ranges for a camera control property of a PIP capture device synchronously.

public VideoCaptureDeviceCameraControlRanges PIP_Video_CaptureDevice_CameraControl_GetRange(string deviceName, CameraControlProperty property)

Parameters

deviceName string
property CameraControlProperty

Returns

VideoCaptureDeviceCameraControlRanges

PIP_Video_CaptureDevice_CameraControl_GetRangeAsync(string, CameraControlProperty)

Gets the available ranges for a camera control property of a PIP capture device asynchronously.

public Task<VideoCaptureDeviceCameraControlRanges> PIP_Video_CaptureDevice_CameraControl_GetRangeAsync(string deviceName, CameraControlProperty property)

Parameters

deviceName string
property CameraControlProperty

Returns

Task<VideoCaptureDeviceCameraControlRanges>

PIP_Video_CaptureDevice_CameraControl_Set(string, CameraControlProperty, VideoCaptureDeviceCameraControlValue)

Sets a camera control property for a PIP capture device synchronously.

public bool PIP_Video_CaptureDevice_CameraControl_Set(string deviceName, CameraControlProperty property, VideoCaptureDeviceCameraControlValue value)

Parameters

deviceName string
property CameraControlProperty
value VideoCaptureDeviceCameraControlValue

Returns

bool

PIP_Video_CaptureDevice_CameraControl_SetAsync(string, CameraControlProperty, VideoCaptureDeviceCameraControlValue)

Sets a camera control property for a PIP capture device asynchronously.

public Task<bool> PIP_Video_CaptureDevice_CameraControl_SetAsync(string deviceName, CameraControlProperty property, VideoCaptureDeviceCameraControlValue value)

Parameters

deviceName string
property CameraControlProperty
value VideoCaptureDeviceCameraControlValue

Returns

Task<bool>

PIP_Video_CaptureDevice_VideoAdjust_GetRanges(string, VideoHardwareAdjustment)

Gets the available ranges for video adjustment parameters of a PIP capture device synchronously.

public VideoCaptureDeviceAdjustRanges PIP_Video_CaptureDevice_VideoAdjust_GetRanges(string deviceName, VideoHardwareAdjustment adjustType)

Parameters

deviceName string
adjustType VideoHardwareAdjustment

Returns

VideoCaptureDeviceAdjustRanges

PIP_Video_CaptureDevice_VideoAdjust_GetRangesAsync(string, VideoHardwareAdjustment)

Gets the available ranges for video adjustment parameters of a PIP capture device asynchronously.

public Task<VideoCaptureDeviceAdjustRanges> PIP_Video_CaptureDevice_VideoAdjust_GetRangesAsync(string deviceName, VideoHardwareAdjustment adjustType)

Parameters

deviceName string
adjustType VideoHardwareAdjustment

Returns

Task<VideoCaptureDeviceAdjustRanges>

PIP_Video_CaptureDevice_VideoAdjust_GetValue(string, VideoHardwareAdjustment)

Gets the current value of a video adjustment parameter for a PIP capture device synchronously.

public VideoCaptureDeviceAdjustValue PIP_Video_CaptureDevice_VideoAdjust_GetValue(string deviceName, VideoHardwareAdjustment adjustType)

Parameters

deviceName string
adjustType VideoHardwareAdjustment

Returns

VideoCaptureDeviceAdjustValue

PIP_Video_CaptureDevice_VideoAdjust_GetValueAsync(string, VideoHardwareAdjustment)

Gets the current value of a video adjustment parameter for a PIP capture device asynchronously.

public Task<VideoCaptureDeviceAdjustValue> PIP_Video_CaptureDevice_VideoAdjust_GetValueAsync(string deviceName, VideoHardwareAdjustment adjustType)

Parameters

deviceName string
adjustType VideoHardwareAdjustment

Returns

Task<VideoCaptureDeviceAdjustValue>

PIP_Video_CaptureDevice_VideoAdjust_SetValue(string, VideoHardwareAdjustment, VideoCaptureDeviceAdjustValue)

Sets the new value for the selected adjustment.

public bool PIP_Video_CaptureDevice_VideoAdjust_SetValue(string deviceName, VideoHardwareAdjustment adjustType, VideoCaptureDeviceAdjustValue value)

Parameters

deviceName string
adjustType VideoHardwareAdjustment
value VideoCaptureDeviceAdjustValue

Returns

bool

PIP_Video_CaptureDevice_VideoAdjust_SetValueAsync(string, VideoHardwareAdjustment, VideoCaptureDeviceAdjustValue)

Sets a video adjustment parameter for a PIP capture device asynchronously.

public Task<bool> PIP_Video_CaptureDevice_VideoAdjust_SetValueAsync(string deviceName, VideoHardwareAdjustment adjustType, VideoCaptureDeviceAdjustValue value)

Parameters

deviceName string
adjustType VideoHardwareAdjustment
value VideoCaptureDeviceAdjustValue

Returns

Task<bool>

Pause()

Pauses the running capture or preview graph synchronously.

public bool Pause()

Returns

bool

true on success, or false if the engine was not started or the async API is active (use VisioForge.Core.VideoCapture.VideoCaptureCore.PauseAsync in that case).

PauseAsync()

Asynchronously pauses the running capture or preview graph.

public Task<bool> PauseAsync()

Returns

Task<bool>

A task that resolves to true on success, or false if the engine was not started or the synchronous API is active (use VisioForge.Core.VideoCapture.VideoCaptureCore.Pause in that case).

Push_Source_AddVideoFrame(Bitmap)

Pushes a video frame to the push source filter synchronously.

public void Push_Source_AddVideoFrame(Bitmap frame)

Parameters

frame Bitmap

The bitmap image to push as a video frame. Width and height must match the source settings.

Push_Source_AddVideoFrame(nint, int, int, int)

Pushes a video frame from a raw memory pointer to the push source filter synchronously.

public bool Push_Source_AddVideoFrame(nint frame, int frameSize, int width, int height)

Parameters

frame nint

Pointer to the unmanaged memory containing the frame data.

frameSize int

Size of the frame data in bytes.

width int

Width of the video frame in pixels.

height int

Height of the video frame in pixels.

Returns

bool

true if the frame was pushed successfully; otherwise, false.

Push_Source_AddVideoFrameAsync(Bitmap)

Pushes a video frame to the push source filter asynchronously.

public Task Push_Source_AddVideoFrameAsync(Bitmap frame)

Parameters

frame Bitmap

The bitmap image to push as a video frame. Width and height must match the source settings.

Returns

Task

A task representing the asynchronous operation.

Push_Source_AddVideoFrameAsync(nint, int, int, int)

Pushes a video frame from a raw memory pointer to the push source filter asynchronously.

public Task<bool> Push_Source_AddVideoFrameAsync(nint frame, int frameSize, int width, int height)

Parameters

frame nint

Pointer to the unmanaged memory containing the frame data.

frameSize int

Size of the frame data in bytes.

width int

Width of the video frame in pixels.

height int

Height of the video frame in pixels.

Returns

Task<bool>

A task that returns true if the frame was pushed successfully; otherwise, false.

RefreshLists(bool, bool, bool, bool)

Refreshes the internal caches of capture devices, audio/video codecs, and DirectShow filter lists.

public void RefreshLists(bool devices, bool codecs, bool filters, bool ignoreDecklinkInDSListings = true)

Parameters

devices bool

When true, re-enumerates video and audio capture devices.

codecs bool

When true, re-enumerates audio and video compressor codecs.

filters bool

When true, re-enumerates legacy DirectShow filters.

ignoreDecklinkInDSListings bool

When true, Decklink devices are excluded from the standard DirectShow device listing to avoid duplicates. Default is true.

Resume()

Resumes a paused capture or preview graph synchronously.

public bool Resume()

Returns

bool

true on success, or false if the engine was not started or the async API is active (use VisioForge.Core.VideoCapture.VideoCaptureCore.ResumeAsync in that case).

ResumeAsync()

Asynchronously resumes a paused capture or preview graph.

public Task<bool> ResumeAsync()

Returns

Task<bool>

A task that resolves to true on success, or false if the engine was not started or the synchronous API is active (use VisioForge.Core.VideoCapture.VideoCaptureCore.Resume in that case).

SDK_BuildDate()

Gets SDK build date.

public DateTime SDK_BuildDate()

Returns

DateTime

DateTime.

SDK_Version()

Gets SDK version.

public Version SDK_Version()

Returns

Version

Version.

Screen_Capture_UpdateParameters(int, int, bool, bool)

Updates the screen capture parameters while capturing.

public void Screen_Capture_UpdateParameters(int left, int top, bool grabMouseCursor, bool highlightMouseCursor = false)

Parameters

left int

The new left coordinate of the capture area.

top int

The new top coordinate of the capture area.

grabMouseCursor bool

Set to true to capture the mouse cursor.

highlightMouseCursor bool

Set to true to highlight the mouse cursor position. Default is false.

Screen_Capture_UpdateParametersAsync(int, int, bool, bool)

Updates the screen capture parameters while capturing asynchronously.

public Task Screen_Capture_UpdateParametersAsync(int left, int top, bool grabMouseCursor, bool highlightMouseCursor = false)

Parameters

left int

The new left coordinate of the capture area.

top int

The new top coordinate of the capture area.

grabMouseCursor bool

Set to true to capture the mouse cursor.

highlightMouseCursor bool

Set to true to highlight the mouse cursor position. Default is false.

Returns

Task

A task representing the asynchronous operation.

SeparateCapture_ChangeFilenameOnTheFly(string)

Changes file name on the fly. Separate capture must be enabled.

public bool SeparateCapture_ChangeFilenameOnTheFly(string filename)

Parameters

filename string

New file name.

Returns

bool

The Boolean.

SeparateCapture_ChangeFilenameOnTheFlyAsync(string)

Changes file name on the fly (async). Separate capture must be enabled.

public Task<bool> SeparateCapture_ChangeFilenameOnTheFlyAsync(string filename)

Parameters

filename string

New file name.

Returns

Task<bool>

Task<System.Boolean>.

SeparateCapture_Pause()

Pauses capture. Separate capture must be enabled.

public bool SeparateCapture_Pause()

Returns

bool

The Boolean.

SeparateCapture_PauseAsync()

Pauses capture. Separate capture must be enabled.

public Task<bool> SeparateCapture_PauseAsync()

Returns

Task<bool>

Task<System.Boolean>.

SeparateCapture_Resume()

Resumes capture. Separate capture must be enabled.

public bool SeparateCapture_Resume()

Returns

bool

The Boolean.

SeparateCapture_ResumeAsync()

Resumes capture (async). Separate capture must be enabled.

public Task<bool> SeparateCapture_ResumeAsync()

Returns

Task<bool>

Task<System.Boolean>.

SeparateCapture_Start(string)

Starts capture. Separate capture must be enabled.

public bool SeparateCapture_Start(string filename)

Parameters

filename string

Output file name.

Returns

bool

The Boolean.

SeparateCapture_StartAsync(string)

Starts capture. Separate capture must be enabled.

public Task<bool> SeparateCapture_StartAsync(string filename)

Parameters

filename string

Output file name.

Returns

Task<bool>

The Task.

SeparateCapture_Stop()

Stops capture. Separate capture must be enabled.

public bool SeparateCapture_Stop()

Returns

bool

The Boolean.

SeparateCapture_StopAsync()

Stops capture (async). Separate capture must be enabled.

public Task<bool> SeparateCapture_StopAsync()

Returns

Task<bool>

Task<System.Boolean>.

SetLicenseCertificateAsync(byte[])

Loads a license certificate into this instance and activates it if the certificate requires activation.

public Task SetLicenseCertificateAsync(byte[] certificateData)

Parameters

certificateData byte[]

The bytes of a .vflicense certificate file issued by VisioForge.

Returns

Task

A task that completes once the certificate has been loaded and any required activation has run.

Remarks

This is the only public licensing API. The file-path and stream overloads and every license-key method were removed in 2026.5.2, so an application reads the .vflicense file itself and passes the bytes here. The certificate belongs to this instance: call it on every instance you create, before starting it -- licensing one instance does not license another. Without a certificate the instance runs in the 30-day trial.

Settings_Load(string)

Loads SDK configuration settings from a JSON file, overwriting the current property values.

public bool Settings_Load(string jsonFilename)

Parameters

jsonFilename string

Path to the JSON settings file previously saved by VisioForge.Core.VideoCapture.VideoCaptureCore.Settings_Save(System.String,System.String).

Returns

bool

true if the file was loaded and settings were applied; false on error.

Settings_Save(string, string)

Saves the current SDK configuration settings to a JSON file and optionally writes a companion SDK info file.

public bool Settings_Save(string jsonFilename, string infoFilename)

Parameters

jsonFilename string

Destination path for the JSON settings file.

infoFilename string

Destination path for the SDK version info text file. Pass null or empty to skip.

Returns

bool

true if all files were written successfully; false on any IO or serialization error.

Special_Filters(SpecialFilterType)

Retrieves a list of filters for a specific special purpose type.

public ObservableCollection<string> Special_Filters(SpecialFilterType filterType)

Parameters

filterType SpecialFilterType

The type of special filters to list (e.g., Muxers, Encoders).

Returns

ObservableCollection<string>

An ObservableCollection<T> of strings containing the names of the filters.

Start()

Builds the DirectShow graph and starts capture or preview synchronously.

public bool Start()

Returns

bool

true when the graph is running, or false on configuration or graph-build error.

StartAsync()

Builds the DirectShow graph and starts capture or preview asynchronously.

public Task<bool> StartAsync()

Returns

Task<bool>

A task that resolves to true when the graph is running, or false on error. Not compatible with madVR renderer — use VisioForge.Core.VideoCapture.VideoCaptureCore.Start for that renderer.

StartDelayed()

Starts delayed graph. Start_DelayEnabled must be true to use this method.

public bool StartDelayed()

Returns

bool

true if successful, false otherwise.

Remarks

This method is used when Start_DelayEnabled is set to true. It allows the graph to be configured completely before starting execution. For async API usage, use StartDelayedAsync instead. The method will fail if the graph hasn't been started or if async mode is enabled.

StartDelayedAsync()

Starts delayed graph (async). Start_DelayEnabled must be true to use this method.

public Task<bool> StartDelayedAsync()

Returns

Task<bool>

Task<System.Boolean>.

State()

Gets current state of the component. Returns "Play" during capture or preview and "Free" when idle.

public PlaybackState State()

Returns

PlaybackState

PlaybackState.

Stop()

Stops the running capture or preview graph synchronously.

public void Stop()

StopAsync()

Stops the running capture or preview graph asynchronously.

public Task StopAsync()

Returns

Task

A task that completes when the graph has been torn down.

TVTuner_Apply()

Applies TV tuner parameters.

public void TVTuner_Apply()

See Also

TVTuner_ApplyAsync()

Applies TV tuner parameters.

public Task TVTuner_ApplyAsync()

Returns

Task

The Task.

See Also

TVTuner_AudioFrequency()

Gets value of current frequency of the TV tuner audio channel.

public int TVTuner_AudioFrequency()

Returns

int

System.Int32.

TVTuner_AudioSubChannel()

Gets audio sub channel.

public TVTunerSubChannel TVTuner_AudioSubChannel()

Returns

TVTunerSubChannel

TVTunerSubChannel.

TVTuner_ChannelMax()

Gets maximal available channel number.

public int TVTuner_ChannelMax()

Returns

int

int.

TVTuner_ChannelMin()

Gets minimal available channel number.

public int TVTuner_ChannelMin()

Returns

int

int.

TVTuner_Countries()

Gets TV Tuner country list.

public ObservableCollection<string> TVTuner_Countries()

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

TVTuner_Countries_GetPreferredFormatForCountry(string)

Gets preferable video format for selected country.

public string TVTuner_Countries_GetPreferredFormatForCountry(string country)

Parameters

country string

Country name.

Returns

string

System.String.

TVTuner_Devices()

Gets TV Tuner list.

public ObservableCollection<string> TVTuner_Devices()

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

TVTuner_Modes()

Gets TV Tuner mode list.

public ObservableCollection<string> TVTuner_Modes()

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

TVTuner_Read()

Reads TV tuner parameters.

public void TVTuner_Read()

TVTuner_ReadAsync()

Reads TV tuner parameters (async).

public Task TVTuner_ReadAsync()

Returns

Task

The Task.

TVTuner_Signal()

Gets a value indicating whether TV tuner has a signal.

public bool TVTuner_Signal()

Returns

bool

bool.

TVTuner_TVFormat_FromString(string)

Converts string to TV format.

public TVTunerVideoFormat TVTuner_TVFormat_FromString(string format)

Parameters

format string

Format.

Returns

TVTunerVideoFormat

TVTunerVideoFormat.

TVTuner_TVFormats()

Gets TV Tuner format list.

public ObservableCollection<string> TVTuner_TVFormats()

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

TVTuner_TuneChannels_Start()

Starts the channel tuning.

public void TVTuner_TuneChannels_Start()

TVTuner_TuneChannels_StartAsync()

Starts the channel tuning (async.).

public Task TVTuner_TuneChannels_StartAsync()

Returns

Task

The Task.

TVTuner_TuneChannels_Stop()

Stops the channel tuning.

public void TVTuner_TuneChannels_Stop()

TVTuner_TuneChannels_StopAsync()

Stops the channel tuning (async.).

public Task TVTuner_TuneChannels_StopAsync()

Returns

Task

The Task.

TVTuner_VideoFrequency()

Gets value of current frequency of the TV tuner video channel.

public int TVTuner_VideoFrequency()

Returns

int

System.Int32.

TVTuner_VideoSubChannel()

Gets TV Tuner video subchannel.

public TVTunerSubChannel TVTuner_VideoSubChannel()

Returns

TVTunerSubChannel

VisioForge.Core.Types.VideoCapture.TVTunerSubChannel.

Tags_GetDefaultAudioGenres()

Gets default audio genres.

public string[] Tags_GetDefaultAudioGenres()

Returns

string[]

System.String[].

Tags_GetDefaultVideoGenres()

Gets default video genres.

public string[] Tags_GetDefaultVideoGenres()

Returns

string[]

System.String[].

Test()

Reserved for internal testing purposes. Has no runtime effect.

public void Test()

VideoInHeight()

Gets video input height.

public int VideoInHeight()

Returns

int

System.Int32.

VideoInWidth()

Gets video input width.

public int VideoInWidth()

Returns

int

System.Int32.

Video_CaptureDevice_CameraControl_Get(CameraControlProperty)

Gets the current value of a specific camera control property.

public VideoCaptureDeviceCameraControlValue Video_CaptureDevice_CameraControl_Get(CameraControlProperty property)

Parameters

property CameraControlProperty

The camera control property to retrieve (e.g., Pan, Tilt, Zoom).

Returns

VideoCaptureDeviceCameraControlValue

A VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceCameraControlValue object containing the property value, or null if failed.

Video_CaptureDevice_CameraControl_GetAsync(CameraControlProperty)

Gets the current value of a specific camera control property asynchronously.

public Task<VideoCaptureDeviceCameraControlValue> Video_CaptureDevice_CameraControl_GetAsync(CameraControlProperty property)

Parameters

property CameraControlProperty

The camera control property to retrieve (e.g., Pan, Tilt, Zoom).

Returns

Task<VideoCaptureDeviceCameraControlValue>

A task that returns a VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceCameraControlValue object containing the property value, or null if failed.

Video_CaptureDevice_CameraControl_GetRange(CameraControlProperty)

Gets range of available values for camera control.

public VideoCaptureDeviceCameraControlRanges Video_CaptureDevice_CameraControl_GetRange(CameraControlProperty property)

Parameters

property CameraControlProperty

Property type.

Returns

VideoCaptureDeviceCameraControlRanges

The VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceCameraControlRanges.

Video_CaptureDevice_CameraControl_GetRangeAsync(CameraControlProperty)

Gets the range of supported values for a specific camera control property asynchronously.

public Task<VideoCaptureDeviceCameraControlRanges> Video_CaptureDevice_CameraControl_GetRangeAsync(CameraControlProperty property)

Parameters

property CameraControlProperty

The camera control property to retrieve the range for.

Returns

Task<VideoCaptureDeviceCameraControlRanges>

A task that returns a VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceCameraControlRanges object containing the range details, or null if failed.

Video_CaptureDevice_CameraControl_Set(CameraControlProperty, VideoCaptureDeviceCameraControlValue)

Sets a specific camera control property value.

public bool Video_CaptureDevice_CameraControl_Set(CameraControlProperty property, VideoCaptureDeviceCameraControlValue value)

Parameters

property CameraControlProperty

The camera control property to set (e.g., Pan, Tilt, Zoom).

value VideoCaptureDeviceCameraControlValue

The value to set for the property.

Returns

bool

true if the operation was successful; otherwise, false.

Video_CaptureDevice_CameraControl_SetAsync(CameraControlProperty, VideoCaptureDeviceCameraControlValue)

Sets a specific camera control property value asynchronously.

public Task<bool> Video_CaptureDevice_CameraControl_SetAsync(CameraControlProperty property, VideoCaptureDeviceCameraControlValue value)

Parameters

property CameraControlProperty

The camera control property to set (e.g., Pan, Tilt, Zoom).

value VideoCaptureDeviceCameraControlValue

The value to set for the property.

Returns

Task<bool>

A task that returns true if the operation was successful; otherwise, false.

Video_CaptureDevice_CrossBar_ClearConnections()

Clears the configured crossbar connections.

public void Video_CaptureDevice_CrossBar_ClearConnections()

Video_CaptureDevice_CrossBar_Connect(string, string, bool)

Connects an input pin to an output pin on the video capture device's crossbar.

public bool Video_CaptureDevice_CrossBar_Connect(string inputPin, string outputPin, bool connectRelated)

Parameters

inputPin string

The name of the input pin.

outputPin string

The name of the output pin.

connectRelated bool

Set to true to also connect related pins (e.g., audio).

Returns

bool

true if the connection was successful; otherwise, false.

Video_CaptureDevice_CrossBar_GetConnectedInputForOutput(string)

Gets the name of the input pin connected to the specified output pin on the crossbar.

public string Video_CaptureDevice_CrossBar_GetConnectedInputForOutput(string outputPin)

Parameters

outputPin string

The name of the output pin.

Returns

string

The name of the connected input pin, or an empty string if not found or not connected.

Video_CaptureDevice_CrossBar_GetInputsForOutput(string)

Gets a list of available input pins for a specific output pin on the crossbar.

public ObservableCollection<string> Video_CaptureDevice_CrossBar_GetInputsForOutput(string outputPin)

Parameters

outputPin string

The name of the output pin.

Returns

ObservableCollection<string>

An ObservableCollection<T> of strings containing the input pin names.

Video_CaptureDevice_CrossBar_GetRelated(string, string, out string, out string)

Retrieves the related pin names for a given input-output pair.

public void Video_CaptureDevice_CrossBar_GetRelated(string inputPin, string outputPin, out string relatedInputPin, out string relatedOutputPin)

Parameters

inputPin string

The name of the input pin.

outputPin string

The name of the output pin.

relatedInputPin string

When this method returns, contains the name of the related input pin.

relatedOutputPin string

When this method returns, contains the name of the related output pin.

Video_CaptureDevice_CrossBar_Init(string)

Initializes the crossbar information for the specified video capture device.

public bool Video_CaptureDevice_CrossBar_Init(string deviceName)

Parameters

deviceName string

The name of the video capture device.

Returns

bool

true if initialization was successful; otherwise, false.

Video_CaptureDevice_CrossBar_Outputs()

Gets the list of available crossbar output pins.

public ObservableCollection<string> Video_CaptureDevice_CrossBar_Outputs()

Returns

ObservableCollection<string>

An ObservableCollection<T> of strings containing the output pin names.

Video_CaptureDevice_Get_DroppedFramesCountFromDevice()

Gets the count of dropped and not dropped frames from the video capture device.

public Tuple<int, int> Video_CaptureDevice_Get_DroppedFramesCountFromDevice()

Returns

Tuple<int, int>

A tuple where the first item is the dropped frames count and the second is the not dropped frames count.

Video_CaptureDevice_Get_DroppedFramesCountFromDeviceAsync()

Gets the count of dropped and not dropped frames from the video capture device asynchronously.

public Task<Tuple<int, int>> Video_CaptureDevice_Get_DroppedFramesCountFromDeviceAsync()

Returns

Task<Tuple<int, int>>

A task that returns a tuple where the first item is the dropped frames count and the second is the not dropped frames count.

Video_CaptureDevice_InternalMPEGEncoder_ShowDialog(nint, string)

Displays the dialog box with the settings of the selected Internal MPEG encoder.

public void Video_CaptureDevice_InternalMPEGEncoder_ShowDialog(nint parent, string name)

Parameters

parent nint

The parent.

name string

The name.

Video_CaptureDevice_SetDefault()

Set the video capture device to default.

public bool Video_CaptureDevice_SetDefault()

Returns

bool

true if successful, false otherwise.

Video_CaptureDevice_SettingsDialog_Show(nint, string, PropertyPageType)

Displays the dialog box with the settings of the selected video capture device filter.

public void Video_CaptureDevice_SettingsDialog_Show(nint parent, string deviceName, PropertyPageType propertyPage = PropertyPageType.Default)

Parameters

parent nint

Parent handle. Use IntPtr.Zero if you are do not want to have a parent.

deviceName string

Device name.

propertyPage PropertyPageType

Property page.

Video_CaptureDevice_SignalPresent()

Checks if the video capture device detects a video signal.

public bool Video_CaptureDevice_SignalPresent()

Returns

bool

true if a video signal is present; otherwise, false.

Video_CaptureDevice_SignalPresentAsync()

Checks if the video capture device detects a video signal asynchronously.

public Task<bool> Video_CaptureDevice_SignalPresentAsync()

Returns

Task<bool>

A task that returns true if a video signal is present; otherwise, false.

Video_CaptureDevice_VendorProperties_Get(VideoCaptureVendorAPIKey)

Retrieves vendor-specific property values from the active video capture device synchronously.

public Tuple<object, object> Video_CaptureDevice_VendorProperties_Get(VideoCaptureVendorAPIKey key)

Parameters

key VideoCaptureVendorAPIKey

Vendor API key identifying the property or capability to query.

Returns

Tuple<object, object>

A tuple of two vendor-specific objects, or null if the device is not running.

Video_CaptureDevice_VendorProperties_GetAsync(VideoCaptureVendorAPIKey)

Asynchronously retrieves vendor-specific property values from the active video capture device.

public Task<Tuple<object, object>> Video_CaptureDevice_VendorProperties_GetAsync(VideoCaptureVendorAPIKey key)

Parameters

key VideoCaptureVendorAPIKey

Vendor API key identifying the property or capability to query.

Returns

Task<Tuple<object, object>>

A task that resolves to a tuple of two vendor-specific objects, or null if the device is not running or the async API is not active.

Video_CaptureDevice_VendorProperties_GetKSPropertySet()

Gets the IKsPropertySet interface from the video capture device.

public object Video_CaptureDevice_VendorProperties_GetKSPropertySet()

Returns

object

The IKsPropertySet interface object, or null if failed.

Video_CaptureDevice_VendorProperties_GetKSPropertySetAsync()

Gets the IKsPropertySet interface from the video capture device asynchronously.

public Task<object> Video_CaptureDevice_VendorProperties_GetKSPropertySetAsync()

Returns

Task<object>

A task that returns the IKsPropertySet interface object, or null if failed.

Video_CaptureDevice_VendorProperties_Set(VideoCaptureVendorAPIKey, VideoCaptureVendorAPIValueType, object, object)

Sets a specific vendor property for the camera.

public bool Video_CaptureDevice_VendorProperties_Set(VideoCaptureVendorAPIKey key, VideoCaptureVendorAPIValueType valueType, object value1, object value2)

Parameters

key VideoCaptureVendorAPIKey

The vendor property key.

valueType VideoCaptureVendorAPIValueType

The value type of the property.

value1 object

The primary value for the property.

value2 object

The secondary value for the property (if applicable).

Returns

bool

true if successful; otherwise, false.

Video_CaptureDevice_VendorProperties_SetAsync(VideoCaptureVendorAPIKey, VideoCaptureVendorAPIValueType, object, object)

Sets a specific vendor property for the camera asynchronously.

public Task<bool> Video_CaptureDevice_VendorProperties_SetAsync(VideoCaptureVendorAPIKey key, VideoCaptureVendorAPIValueType valueType, object value1, object value2)

Parameters

key VideoCaptureVendorAPIKey

The vendor property key.

valueType VideoCaptureVendorAPIValueType

The value type of the property.

value1 object

The primary value for the property.

value2 object

The secondary value for the property (if applicable).

Returns

Task<bool>

A task that returns true if successful; otherwise, false.

Video_CaptureDevice_VendorProperties_Supported(VideoCaptureVendorAPIKey)

Checks if specific vendor property is supported by the camera.

public Tuple<bool, bool> Video_CaptureDevice_VendorProperties_Supported(VideoCaptureVendorAPIKey key)

Parameters

key VideoCaptureVendorAPIKey

The vendor property key to check.

Returns

Tuple<bool, bool>

A tuple where the first boolean indicates if "get" is supported, and the second if "set" is supported.

Video_CaptureDevice_VendorProperties_SupportedAsync(VideoCaptureVendorAPIKey)

Checks if specific vendor property is supported by the camera asynchronously.

public Task<Tuple<bool, bool>> Video_CaptureDevice_VendorProperties_SupportedAsync(VideoCaptureVendorAPIKey key)

Parameters

key VideoCaptureVendorAPIKey

The vendor property key to check.

Returns

Task<Tuple<bool, bool>>

A task that returns a tuple where the first boolean indicates if "get" is supported, and the second if "set" is supported.

Video_CaptureDevice_VideoAdjust_GetRanges(VideoHardwareAdjustment)

Gets the available ranges for a specific video hardware adjustment.

public VideoCaptureDeviceAdjustRanges Video_CaptureDevice_VideoAdjust_GetRanges(VideoHardwareAdjustment adjustType)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment (e.g., Brightness, Contrast).

Returns

VideoCaptureDeviceAdjustRanges

A VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceAdjustRanges object containing the range details, or null if failed.

Video_CaptureDevice_VideoAdjust_GetRangesAsync(VideoHardwareAdjustment)

Gets the available ranges for a specific video hardware adjustment asynchronously.

public Task<VideoCaptureDeviceAdjustRanges> Video_CaptureDevice_VideoAdjust_GetRangesAsync(VideoHardwareAdjustment adjustType)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment (e.g., Brightness, Contrast).

Returns

Task<VideoCaptureDeviceAdjustRanges>

A task that returns a VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceAdjustRanges object containing the range details, or null if failed.

Video_CaptureDevice_VideoAdjust_GetValue(VideoHardwareAdjustment, out int, out bool)

Gets the current value for a specific video hardware adjustment.

public bool Video_CaptureDevice_VideoAdjust_GetValue(VideoHardwareAdjustment adjustType, out int value, out bool auto)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment.

value int

When this method returns, contains the current value of the adjustment.

auto bool

When this method returns, indicates if the adjustment is in auto mode.

Returns

bool

true if successful; otherwise, false.

Video_CaptureDevice_VideoAdjust_GetValue(VideoHardwareAdjustment)

Gets the current value for a specific video hardware adjustment.

public VideoCaptureDeviceAdjustValue Video_CaptureDevice_VideoAdjust_GetValue(VideoHardwareAdjustment adjustType)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment.

Returns

VideoCaptureDeviceAdjustValue

A VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceAdjustValue object containing the value and auto-mode status, or null if failed.

Video_CaptureDevice_VideoAdjust_GetValueAsync(VideoHardwareAdjustment)

Gets the current value for a specific video hardware adjustment asynchronously.

public Task<VideoCaptureDeviceAdjustValue> Video_CaptureDevice_VideoAdjust_GetValueAsync(VideoHardwareAdjustment adjustType)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment.

Returns

Task<VideoCaptureDeviceAdjustValue>

A task that returns a VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceAdjustValue object containing the value and auto-mode status, or null if failed.

Video_CaptureDevice_VideoAdjust_SetValue(VideoHardwareAdjustment, VideoCaptureDeviceAdjustValue)

Sets a new value for a specific video hardware adjustment.

public bool Video_CaptureDevice_VideoAdjust_SetValue(VideoHardwareAdjustment adjustType, VideoCaptureDeviceAdjustValue value)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment.

value VideoCaptureDeviceAdjustValue

The new value to set, including the numeric value and auto-mode status.

Returns

bool

true if successful; otherwise, false.

Video_CaptureDevice_VideoAdjust_SetValueAsync(VideoHardwareAdjustment, VideoCaptureDeviceAdjustValue)

Sets a new value for a specific video hardware adjustment asynchronously.

public Task<bool> Video_CaptureDevice_VideoAdjust_SetValueAsync(VideoHardwareAdjustment adjustType, VideoCaptureDeviceAdjustValue value)

Parameters

adjustType VideoHardwareAdjustment

The type of video hardware adjustment.

value VideoCaptureDeviceAdjustValue

The new value to set, including the numeric value and auto-mode status.

Returns

Task<bool>

A task that returns true if successful; otherwise, false.

Video_CaptureDevices()

Retrieves the list of available video capture devices.

public ObservableCollection<VideoCaptureDeviceInfo> Video_CaptureDevices()

Returns

ObservableCollection<VideoCaptureDeviceInfo>

An ObservableCollection<T> of VisioForge.Core.Types.VideoCapture.VideoCaptureDeviceInfo containing device details.

Video_Codecs()

Retrieves the list of available video codecs.

public ObservableCollection<string> Video_Codecs()

Returns

ObservableCollection<string>

An ObservableCollection<T> of strings containing the video codec names.

Video_Effects_Add(IVideoEffect)

Adds a new video effect to the processing chain.

public void Video_Effects_Add(IVideoEffect effect)

Parameters

effect IVideoEffect

The video effect instance to add. This object must implement the VisioForge.Core.Types.VideoEffects.IVideoEffect interface.

Remarks

Effects are applied in the order they are added.

Video_Effects_Clear()

Removes all video effects from the processing chain and releases their resources.

public void Video_Effects_Clear()

Remarks

This method iterates through all registered effects, properly disposes of resources for logo effects (ImageLogo, TextLogo, ScrollingTextLogo), and clears the list.

Video_Effects_GPU_Add(IGPUVideoEffect)

Adds GPU video effect.

public void Video_Effects_GPU_Add(IGPUVideoEffect effect)

Parameters

effect IGPUVideoEffect

The effect.

Video_Effects_GPU_Clear()

Clears video effects.

public void Video_Effects_GPU_Clear()

Video_Effects_GPU_Get(string)

Gets video effect interface by name.

public IGPUVideoEffect Video_Effects_GPU_Get(string name)

Parameters

name string

Effect name used during creation.

Returns

IGPUVideoEffect

Returns VisioForge.Core.Types.VideoEffects.IGPUVideoEffect.

Video_Effects_GPU_Remove(string)

Removes an effect.

public void Video_Effects_GPU_Remove(string name)

Parameters

name string

Effect name.

Video_Effects_Get(string)

Retrieves a specific video effect instance by its name.

public IVideoEffect Video_Effects_Get(string name)

Parameters

name string

The unique name of the effect assigned during its creation. This search is case-insensitive.

Returns

IVideoEffect

The VisioForge.Core.Types.VideoEffects.IVideoEffect instance if found; otherwise, null.

Video_Effects_Remove(string)

Removes a specific video effect by its name.

public void Video_Effects_Remove(string name)

Parameters

name string

The name of the effect to remove.

Remarks

If the effect is found, it is removed from the chain and its resources are disposed if applicable.

Video_Filters_Add(CustomProcessingFilter)

Adds a DirectShow filter to the video processing chain.

public void Video_Filters_Add(CustomProcessingFilter filter)

Parameters

filter CustomProcessingFilter

The custom processing filter to add.

Remarks

You can specify filter parameters using either the settings dialog box or direct access to the filter interface via the plug-in system.

Video_Filters_Clear()

Clears filter list.

public void Video_Filters_Clear()

Video_Renderer_Deinterlace_Modes()

Retrieves the list of supported deinterlace modes for the video renderer.

public ObservableCollection<string> Video_Renderer_Deinterlace_Modes()

Returns

ObservableCollection<string>

An ObservableCollection<T> of strings containing the deinterlace mode names.

Video_Renderer_SetAuto()

Automatically selects the most suitable video renderer, typically EVR or VMR-9.

public void Video_Renderer_SetAuto()

Video_Renderer_SetCustomWindowHandle(nint)

Sets a custom window handle for video rendering.

public void Video_Renderer_SetCustomWindowHandle(nint handle)

Parameters

handle nint

The window handle (HWND) to render video into.

Video_Renderer_Update(int, int)

Updates the video renderer settings, such as size or position.

public void Video_Renderer_Update(int newWidth = 0, int newHeight = 0)

Parameters

newWidth int

The new width of the video renderer. Set to 0 to keep current width.

newHeight int

The new height of the video renderer. Set to 0 to keep current height.

Video_Renderer_UpdateAsync(int, int)

Updates the video renderer settings asynchronously, such as size or position.

public Task Video_Renderer_UpdateAsync(int newWidth = 0, int newHeight = 0)

Parameters

newWidth int

The new width of the video renderer. Set to 0 to keep current width.

newHeight int

The new height of the video renderer. Set to 0 to keep current height.

Returns

Task

A task representing the asynchronous operation.

Video_Renderer_VideoAdjust_GetRanges(VideoRendererAdjustment)

Gets the available ranges for a specific video adjustment on the video renderer.

public VideoRendererVideoAdjustRanges Video_Renderer_VideoAdjust_GetRanges(VideoRendererAdjustment adjustment)

Parameters

adjustment VideoRendererAdjustment

The type of video adjustment.

Returns

VideoRendererVideoAdjustRanges

A VisioForge.Core.Types.VideoRendererVideoAdjustRanges object containing the range details, or null if failed.

Video_Renderer_VideoAdjust_GetRangesAsync(VideoRendererAdjustment)

Gets the available ranges for a specific video adjustment on the video renderer asynchronously.

public Task<VideoRendererVideoAdjustRanges> Video_Renderer_VideoAdjust_GetRangesAsync(VideoRendererAdjustment adjustment)

Parameters

adjustment VideoRendererAdjustment

The type of video adjustment.

Returns

Task<VideoRendererVideoAdjustRanges>

A task that returns a VisioForge.Core.Types.VideoRendererVideoAdjustRanges object, or null if failed.

Video_Renderer_VideoAdjust_GetSupported()

Retrieves the supported video adjustments for the video renderer.

public VideoRendererAdjustmentSupported Video_Renderer_VideoAdjust_GetSupported()

Returns

VideoRendererAdjustmentSupported

A VisioForge.Core.Types.VideoRendererAdjustmentSupported object indicating supported adjustments, or null if failed.

Video_Renderer_VideoAdjust_GetSupportedAsync()

Retrieves the supported video adjustments for the video renderer asynchronously.

public Task<VideoRendererAdjustmentSupported> Video_Renderer_VideoAdjust_GetSupportedAsync()

Returns

Task<VideoRendererAdjustmentSupported>

A task that returns a VisioForge.Core.Types.VideoRendererAdjustmentSupported object indicating supported adjustments, or null if failed.

Video_Renderer_VideoAdjust_GetValues(VideoRendererAdjustment)

Gets video adjustment value.

public float? Video_Renderer_VideoAdjust_GetValues(VideoRendererAdjustment adjustment)

Parameters

adjustment VideoRendererAdjustment

Adjustment type.

Returns

float?

System.Nullable<System.Single>.

Video_Renderer_VideoAdjust_GetValuesAsync(VideoRendererAdjustment)

Gets video adjustment value (async).

public Task<float?> Video_Renderer_VideoAdjust_GetValuesAsync(VideoRendererAdjustment adjustment)

Parameters

adjustment VideoRendererAdjustment

Adjustment type.

Returns

Task<float?>

Task<System.Nullable<System.Single>>.

Video_Renderer_VideoAdjust_SetValue(VideoRendererAdjustment, float)

Sets the value for a specific video adjustment on the video renderer.

public bool Video_Renderer_VideoAdjust_SetValue(VideoRendererAdjustment adjustment, float value)

Parameters

adjustment VideoRendererAdjustment

The type of video adjustment.

value float

The new value to set.

Returns

bool

true if successful; otherwise, false.

Video_Renderer_VideoAdjust_SetValueAsync(VideoRendererAdjustment, float)

Sets the value for a specific video adjustment on the video renderer asynchronously.

public Task<bool> Video_Renderer_VideoAdjust_SetValueAsync(VideoRendererAdjustment adjustment, float value)

Parameters

adjustment VideoRendererAdjustment

The type of video adjustment.

value float

The new value to set.

Returns

Task<bool>

A task that returns true if successful; otherwise, false.

Virtual_Camera_Output_IsAvailable()

Checks if the virtual camera output is available.

public bool Virtual_Camera_Output_IsAvailable()

Returns

bool

System.Boolean.

Virtual_Camera_Output_RegisterAsAdmin(bool)

Registers virtual camera output. Admin rights required. VisioForge.DotNet.Core.Redist.VirtualCamera NuGet package for x86 or x64 platforms should be added to the project.

public bool Virtual_Camera_Output_RegisterAsAdmin(bool allowAppRestart)

Parameters

allowAppRestart bool

if set to true allows application restart with admin rights.

Returns

bool

true if successful, false otherwise.

IMPVCVECore.GetVideoRenderer()

Gets the video renderer.

VideoRendererSettings IMPVCVECore.GetVideoRenderer()

Returns

VideoRendererSettings

VideoRendererSettings.

Remarks

This method is an explicit implementation of the IMPVCVECore interface. It returns the current video renderer configuration including:

  • Renderer type (VMR9, EVR, etc.)
  • Zoom and stretch settings
  • Flip and rotation parameters
  • Deinterlacing options

IVideoCaptureControls.Duration()

Gets the duration of the current capture session.

TimeSpan IVideoCaptureControls.Duration()

Returns

TimeSpan

The duration as a TimeSpan object.

IVideoCaptureControls.DurationAsync()

Gets the duration of the current capture session asynchronously.

Task<TimeSpan> IVideoCaptureControls.DurationAsync()

Returns

Task<TimeSpan>

A task that represents the asynchronous operation, containing the duration as a TimeSpan object.

IVideoCaptureControls.Volume_Get()

Gets the current audio output volume.

double IVideoCaptureControls.Volume_Get()

Returns

double

The volume level as a value between 0.0 and 1.0.

IVideoCaptureControls.Volume_Set(double)

Sets the audio output volume.

void IVideoCaptureControls.Volume_Set(double volume)

Parameters

volume double

The volume level as a value between 0.0 and 1.0.

IVideoEffectsControls.VideoEffects_Clear()

Removes all video effects from the current capture session.

void IVideoEffectsControls.VideoEffects_Clear()

IVideoEffectsControls.VideoEffects_SetBrightness(double)

Sets the brightness level for the video.

void IVideoEffectsControls.VideoEffects_SetBrightness(double value)

Parameters

value double

The brightness value, ranging from -1.0 (darkest) to 1.0 (brightest).

IVideoEffectsControls.VideoEffects_SetContrast(double)

Sets the contrast level for the video.

void IVideoEffectsControls.VideoEffects_SetContrast(double value)

Parameters

value double

The contrast value, ranging from 0.0 to 1.0.

IVideoEffectsControls.VideoEffects_SetFlipX(bool)

Enables or disables horizontal flip (mirror) effect for the video.

void IVideoEffectsControls.VideoEffects_SetFlipX(bool value)

Parameters

value bool

True to enable horizontal flip; false to disable.

IVideoEffectsControls.VideoEffects_SetFlipY(bool)

Enables or disables vertical flip effect for the video.

void IVideoEffectsControls.VideoEffects_SetFlipY(bool value)

Parameters

value bool

True to enable vertical flip; false to disable.

IVideoEffectsControls.VideoEffects_SetGrayscale(bool)

Enables or disables the grayscale effect for the video.

void IVideoEffectsControls.VideoEffects_SetGrayscale(bool value)

Parameters

value bool

True to enable grayscale; false to disable.

IVideoEffectsControls.VideoEffects_SetInvert(bool)

Enables or disables the color inversion effect for the video.

void IVideoEffectsControls.VideoEffects_SetInvert(bool value)

Parameters

value bool

True to enable color inversion; false to disable.

IVideoEffectsControls.VideoEffects_SetSaturation(double)

Sets the saturation level for the video.

void IVideoEffectsControls.VideoEffects_SetSaturation(double value)

Parameters

value double

The saturation value, ranging from 0.0 to 1.0.

WMV_CustomProfile_AudioCodecs(WMVStreamMode)

Gets WMV audio codec list.

public ObservableCollection<string> WMV_CustomProfile_AudioCodecs(WMVStreamMode mode)

Parameters

mode WMVStreamMode

Mode.

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

WMV_CustomProfile_AudioFormats(string, WMVStreamMode)

Gets WMV audio format list.

public ObservableCollection<string> WMV_CustomProfile_AudioFormats(string codecName, WMVStreamMode mode)

Parameters

codecName string

Audio codec name.

mode WMVStreamMode

Mode.

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

WMV_CustomProfile_SaveToFile(WMVOutput, string)

Saves WMV custom profile to the file.

public void WMV_CustomProfile_SaveToFile(WMVOutput wmvOutput, string filename)

Parameters

wmvOutput WMVOutput

WMV output settings.

filename string

File name.

WMV_CustomProfile_VideoCodecs(WMVStreamMode)

Gets WMV video codec list.

public ObservableCollection<string> WMV_CustomProfile_VideoCodecs(WMVStreamMode mode)

Parameters

mode WMVStreamMode

Stream mode.

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

WMV_Internal_Profiles()

Gets WMV internal profiles list.

public ObservableCollection<string> WMV_Internal_Profiles()

Returns

ObservableCollection<string>

ObservableCollection<System.String>.

WMV_V8_Profiles(out List<string>, out List<string>)

Gets WMV V8 profiles list.

public void WMV_V8_Profiles(out List<string> names, out List<string> descriptions)

Parameters

names List<string>

Names list.

descriptions List<string>

Descriptions list.

OnAudioFrameBuffer

This event occurs whenever each new audio frame is received.

public event EventHandler<AudioFrameBufferEventArgs> OnAudioFrameBuffer

Event Type

EventHandler<AudioFrameBufferEventArgs>

OnAudioVUMeter

This event occurs whenever each new audio VU meter data is received.

public event EventHandler<VUMeterEventArgs> OnAudioVUMeter

Event Type

EventHandler<VUMeterEventArgs>

OnAudioVUMeterProFFTCalculated

This event occurs whenever each new audio VU meter Pro FFT value is received.

public event EventHandler<VUMeterFFTEventArgs> OnAudioVUMeterProFFTCalculated

Event Type

EventHandler<VUMeterFFTEventArgs>

OnAudioVUMeterProMaximumCalculated

This event occurs whenever each new audio VU meter Pro min/max level is received.

public event EventHandler<VUMeterMaxSampleEventArgs> OnAudioVUMeterProMaximumCalculated

Event Type

EventHandler<VUMeterMaxSampleEventArgs>

OnAudioVUMeterProVolume

This event occurs whenever each new audio VU meter Pro volume level is received.

public event EventHandler<AudioLevelEventArgs> OnAudioVUMeterProVolume

Event Type

EventHandler<AudioLevelEventArgs>

OnBDAChannelFound

This event occurs whenever each new DVB-x / ATSC channel found.

public event EventHandler<BDAChannelEventArgs> OnBDAChannelFound

Event Type

EventHandler<BDAChannelEventArgs>

OnBarcodeDetected

This event occurs whenever each new barcode detected. Event args contain barcode data.

public event EventHandler<BarcodeEventArgs> OnBarcodeDetected

Event Type

EventHandler<BarcodeEventArgs>

OnClosedCaptionsBuffer

This event occurs in a case of an new closed caption.

public event EventHandler<ClosedCaptionsBufferEventArgs> OnClosedCaptionsBuffer

Event Type

EventHandler<ClosedCaptionsBufferEventArgs>

OnClosedCaptionsText

Closed captions text event.

public event EventHandler<ClosedCaptionsTextEventArgs> OnClosedCaptionsText

Event Type

EventHandler<ClosedCaptionsTextEventArgs>

OnDataFrameBuffer

Occurs when new data frame buffer received. Current this event available only for FFMPEG engine.

public event EventHandler<DataFrameEventArgs> OnDataFrameBuffer

Event Type

EventHandler<DataFrameEventArgs>

OnDecklinkInputDisconnected

This event occurs whenever Decklink input disconnected. Preview or capture should be started.

public event EventHandler<EventArgs> OnDecklinkInputDisconnected

Event Type

EventHandler<EventArgs>

OnDecklinkInputReconnected

This event occurs whenever Decklink input reconnected. Preview or capture should be started.

public event EventHandler<EventArgs> OnDecklinkInputReconnected

Event Type

EventHandler<EventArgs>

OnDeviceAdded

This event occurs whenever new device added.

public event EventHandler<DeviceRemovedAddedEventArgs> OnDeviceAdded

Event Type

EventHandler<DeviceRemovedAddedEventArgs>

OnDeviceRemoved

This event occurs whenever device removed.

public event EventHandler<DeviceRemovedAddedEventArgs> OnDeviceRemoved

Event Type

EventHandler<DeviceRemovedAddedEventArgs>

OnError

This event occurs in a case of an error.

public event EventHandler<ErrorsEventArgs> OnError

Event Type

EventHandler<ErrorsEventArgs>

OnFFMPEGInfo

This event occurs in a case of a new FFMPEG info available. FFMPEG errors can be handled using OnError event.

public event EventHandler<FFMPEGInfoEventArgs> OnFFMPEGInfo

Event Type

EventHandler<FFMPEGInfoEventArgs>

OnFFMPEGSourceTimestamp

Occurs when on FFMPEG source got new frame.

public event EventHandler<FFMPEGSourceTimestampEventArgs> OnFFMPEGSourceTimestamp

Event Type

EventHandler<FFMPEGSourceTimestampEventArgs>

OnFaceDetected

This event occurs whenever each new video frame is received and a face(s) detected.

public event EventHandler<AFFaceDetectionEventArgs> OnFaceDetected

Event Type

EventHandler<AFFaceDetectionEventArgs>

OnFilterAdded

Event occurring when each new DirectShow filter added.

public event EventHandler<FilterEventArgs> OnFilterAdded

Event Type

EventHandler<FilterEventArgs>

OnKLVPacketEmitted

Occurs once per KLV (SMPTE 336M) packet after the per-destination reorder buffer has emitted it, immediately before delivery to the destination writer. One subscription receives packets for every active KLV destination — distinguish them using VisioForge.Core.Types.Events.KLVPacketEventArgs.Destination. Fires only when at least one KLV-aware output is configured (file or network).

public event EventHandler<KLVPacketEventArgs> OnKLVPacketEmitted

Event Type

EventHandler<KLVPacketEventArgs>

OnLicenseRequired

Occurs when the current capture configuration requires a specific SDK edition. The event data identifies the required Standard, Professional or Premium edition and the feature that asks for it. This is not a trial-expiry notification.

public event EventHandler<LicenseEventArgs> OnLicenseRequired

Event Type

EventHandler<LicenseEventArgs>

OnMJPEGLowLatencyRAWFrame

This event occurs whenever MJPEG low latency raw frame received.

public event EventHandler<byte[]> OnMJPEGLowLatencyRAWFrame

Event Type

EventHandler<byte[]>

OnMotion

This event occurs whenever a new frame is received and motion is detected.

public event EventHandler<MotionDetectionEventArgs> OnMotion

Event Type

EventHandler<MotionDetectionEventArgs>

OnMotionDetectionEx

This event occurs whenever each new video frame is received. Event args contain motion data.

public event EventHandler<MotionDetectionExEventArgs> OnMotionDetectionEx

Event Type

EventHandler<MotionDetectionExEventArgs>

OnNetworkSourceDisconnect

This event occurs whenever network source stopped or disconnected.

public event EventHandler<EventArgs> OnNetworkSourceDisconnect

Event Type

EventHandler<EventArgs>

OnRTSPLowLatencyRAWFrame

This event occurs whenever RTSP low latency raw frame received.

public event EventHandler<RawFrame> OnRTSPLowLatencyRAWFrame

Event Type

EventHandler<RawFrame>

OnScreenCaptureKeyDown

Occurs when key pressed.

public event EventHandler<KeyEventArgs> OnScreenCaptureKeyDown

Event Type

EventHandler<KeyEventArgs>

OnScreenCaptureMouseClick

Occurs when mouse clicked.

public event EventHandler<MouseEventArgs> OnScreenCaptureMouseClick

Event Type

EventHandler<MouseEventArgs>

OnSeparateCaptureStarted

This event occurs whenever the separate capture started.

public event EventHandler<SeparateCaptureFileEventArgs> OnSeparateCaptureStarted

Event Type

EventHandler<SeparateCaptureFileEventArgs>

OnSeparateCaptureStopped

This event occurs whenever the separate capture stopped.

public event EventHandler<SeparateCaptureFileEventArgs> OnSeparateCaptureStopped

Event Type

EventHandler<SeparateCaptureFileEventArgs>

OnSourceConnected

This event occurs whenever source connected and first video frame is received.

public event EventHandler<SourceConnectedEventArgs> OnSourceConnected

Event Type

EventHandler<SourceConnectedEventArgs>

OnStart

This event occurs whenever the capture / preview starts.

public event EventHandler<EventArgs> OnStart

Event Type

EventHandler<EventArgs>

OnStillVideoFrameBitmap

This event occurs whenever each new still video frame is received.

public event EventHandler<VideoFrameBitmapEventArgs> OnStillVideoFrameBitmap

Event Type

EventHandler<VideoFrameBitmapEventArgs>

OnStillVideoFrameBuffer

This event occurs whenever each new still video frame is received.

public event EventHandler<VideoFrameBufferEventArgs> OnStillVideoFrameBuffer

Event Type

EventHandler<VideoFrameBufferEventArgs>

OnStop

This event occurs whenever the capture / preview stop.

public event EventHandler<StopEventArgs> OnStop

Event Type

EventHandler<StopEventArgs>

OnTVTunerTuneChannels

This event occurs whenever a channel search (tuning) and contains the presence of the signal, the number of the channel and its frequency.

public event EventHandler<TVTunerTuneChannelsEventArgs> OnTVTunerTuneChannels

Event Type

EventHandler<TVTunerTuneChannelsEventArgs>

OnTimeshiftFileCreated

This event occurs in a case of a new timeshift file created. You can open file file in Media Player SDK.

public event EventHandler<TimeshiftFileEventArgs> OnTimeshiftFileCreated

Event Type

EventHandler<TimeshiftFileEventArgs>

OnVideoFrameBitmap

This event occurs whenever each new video frame is received.

public event EventHandler<VideoFrameBitmapEventArgs> OnVideoFrameBitmap

Event Type

EventHandler<VideoFrameBitmapEventArgs>

OnVideoFrameBuffer

This event occurs whenever each new video frame is received (RGB24).

public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBuffer

Event Type

EventHandler<VideoFrameBufferEventArgs>

OnVideoFrameBufferOriginal

This event occurs whenever each new video frame is received (RGB24). Original frame without video effects or another processing.

public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferOriginal

Event Type

EventHandler<VideoFrameBufferEventArgs>

OnVideoFrameBufferRAW

This event occurs whenever each new video frame is received (RAW during IP capture).

public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferRAW

Event Type

EventHandler<VideoFrameBufferEventArgs>

Remarks

Not thread-safe, video data comes directly to this event, please, be very accurate.

OnVideoFrameBufferWPF

This event occurs whenever each new video frame is received (for WPF).

public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferWPF

Event Type

EventHandler<VideoFrameBufferEventArgs>

PropertyChanged

Occurs when a property value changes.

public event PropertyChangedEventHandler PropertyChanged

Event Type

PropertyChangedEventHandler

Remarks

This event is part of the INotifyPropertyChanged implementation and allows data binding systems to be notified when properties are modified.