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, IDisposableInheritance
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
videoViewIVideoView-
The video view control where captured video will be displayed.
initializebool-
If
true, immediately initializes the capture system; iffalse, 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
initializebool-
If
true, immediately initializes the capture system; iffalse, 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
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
Audio_Channel_Mapper
Gets or sets an audio channel mapper settings.
public AudioChannelMapperSettings Audio_Channel_Mapper { get; set; }Property Value
Audio_Decoder
Gets or sets audio decoder used during IP capture (if FFMPEG decoding is disabled).
public string Audio_Decoder { get; set; }Property Value
Audio_Effects_Enabled
Gets or sets a value indicating whether audio effects enabled.
public bool Audio_Effects_Enabled { get; set; }Property Value
Audio_Enhancer_Enabled
Gets or sets a value indicating whether audio enhancer enabled.
public bool Audio_Enhancer_Enabled { get; set; }Property Value
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
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
Audio_PlayAudio
Gets or sets a value indicating whether audio playback enabled.
public bool Audio_PlayAudio { get; set; }Property Value
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
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
Audio_VUMeter_Enabled
Gets or sets a value indicating whether audio VU meter enabled.
public bool Audio_VUMeter_Enabled { get; set; }Property Value
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
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
BDA_Source
Gets or sets BDA source.
public BDASourceSettings BDA_Source { get; set; }Property Value
Barcode_Reader_Enabled
Gets or sets a value indicating whether barcode detection is enabled.
[JsonIgnore]
public bool Barcode_Reader_Enabled { get; set; }Property Value
Barcode_Reader_Type
Gets or sets barcode type to detect.
public BarcodeType Barcode_Reader_Type { get; set; }Property Value
ChromaKey
Gets or sets chroma key settings.
public ChromaKeySettings ChromaKey { get; set; }Property Value
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
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
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
Custom_Source
Gets or sets custom source settings.
public CustomSourceSettings Custom_Source { get; set; }Property Value
DV_Decoder_Video_Resolution
Gets or sets DV decoder video resolution.
public DVVideoResolution DV_Decoder_Video_Resolution { get; set; }Property Value
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
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
Debug_EnableUsageTracking
Gets or sets a value indicating whether usage tracking enabled.
public bool Debug_EnableUsageTracking { get; set; }Property Value
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
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
Remarks
Only anonymous data will be send.
Decklink_Input
Gets or sets Decklink input.
public DecklinkInput Decklink_Input { get; set; }Property Value
Decklink_Input_Capture_Timecode_Source
Gets or sets capture timecode source.
public DecklinkCaptureTimecodeSource Decklink_Input_Capture_Timecode_Source { get; set; }Property Value
Decklink_Input_IREUSA
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
Decklink_Input_SMPTE
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
Decklink_Output
Gets or sets Decklink output settings.
public DecklinkOutputSettings Decklink_Output { get; set; }Property Value
Decklink_Source
Gets or sets Decklink source settings.
public DecklinkSourceSettings Decklink_Source { get; set; }Property Value
DirectCapture_Muxer
Gets or sets DirectCapture muxer filter name.
public string DirectCapture_Muxer { get; set; }Property Value
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
IP_Camera_Source
Gets or sets IP camera source settings.
public IPCameraSourceSettings IP_Camera_Source { get; set; }Property Value
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
MPEG_Demuxer
Gets or sets MPEG demuxer filter.
public string MPEG_Demuxer { get; set; }Property Value
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
Mode
Gets or sets video capture mode.
public VideoCaptureMode Mode { get; set; }Property Value
Motion_Detection
Gets or sets motion detection settings.
public MotionDetectionSettings Motion_Detection { get; set; }Property Value
Motion_DetectionEx
Gets or sets object detection settings.
public MotionDetectionExSettings Motion_DetectionEx { get; set; }Property Value
MultiScreen_Enabled
Gets or sets a value indicating whether multiscreen enabled.
public bool MultiScreen_Enabled { get; set; }Property Value
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
Network_Streaming_Enabled
Gets or sets a value indicating whether network streaming enabled.
public bool Network_Streaming_Enabled { get; set; }Property Value
Network_Streaming_Format
Gets or sets network streaming format.
public NetworkStreamingFormat Network_Streaming_Format { get; set; }Property Value
Network_Streaming_Network_Port
Gets or sets port number for network streaming.
public int Network_Streaming_Network_Port { get; set; }Property Value
Network_Streaming_Output
Gets or sets network streaming output settings.
public INetworkStreamingOutput Network_Streaming_Output { get; set; }Property Value
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
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
Output_Filename
Gets or sets name of the output file for recording.
public string Output_Filename { get; set; }Property Value
Output_Format
Gets or sets the format of the output file for recording.
public IVideoCaptureBaseOutput Output_Format { get; set; }Property Value
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
PIP_ChromaKeySettings
Gets or sets the PIP chroma-key settings.
public PIPChromaKeySettings PIP_ChromaKeySettings { get; set; }Property Value
PIP_Mode
Gets or sets Picture-In-Picture Mode.
public PIPMode PIP_Mode { get; set; }Property Value
PIP_ResizeQuality
Gets or sets PIP resize quality.
public PIPResizeQuality PIP_ResizeQuality { get; set; }Property Value
Push_Source
Gets or sets push source settings.
public PushSourceSettings Push_Source { get; set; }Property Value
Screen_Capture_Source
Gets or sets screen capture source settings.
public ScreenCaptureSourceSettings Screen_Capture_Source { get; set; }Property Value
SeparateCapture_AutostartCapture
Gets or sets a value indicating whether autostart mode enabled.
public bool SeparateCapture_AutostartCapture { get; set; }Property Value
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
SeparateCapture_FileSizeThreshold
Gets or sets time threshold for split by file size mode, in bytes.
public long SeparateCapture_FileSizeThreshold { get; set; }Property Value
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
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
SeparateCapture_Mode
Gets or sets separate capture mode.
public SeparateCaptureMode SeparateCapture_Mode { get; set; }Property Value
SeparateCapture_TimeThreshold
Gets or sets time threshold for split by duration mode, in milliseconds.
public TimeSpan SeparateCapture_TimeThreshold { get; set; }Property Value
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
TVTuner_Channel
Gets or sets the current TV tuner channel.
[JsonIgnore]
public int TVTuner_Channel { get; set; }Property Value
TVTuner_Country
Gets or sets country name.
public string TVTuner_Country { get; set; }Property Value
TVTuner_FM_Tuning_StartFrequency
Gets or sets start frequency for FM Tuning.
public int TVTuner_FM_Tuning_StartFrequency { get; set; }Property Value
TVTuner_FM_Tuning_Step
Gets or sets step used for FM Tuning.
public int TVTuner_FM_Tuning_Step { get; set; }Property Value
TVTuner_FM_Tuning_StopFrequency
Gets or sets stop frequency for FM Tuning.
public int TVTuner_FM_Tuning_StopFrequency { get; set; }Property Value
TVTuner_Frequency
Gets or sets value of TV Tuner current frequency.
public int TVTuner_Frequency { get; set; }Property Value
TVTuner_InputType
Gets or sets TV input type - Antenna or Cable.
public string TVTuner_InputType { get; set; }Property Value
TVTuner_Mode
Gets or sets current TV tuner mode.
public TVTunerMode TVTuner_Mode { get; set; }Property Value
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
TVTuner_TVFormat
Gets or sets TV format.
public TVTunerVideoFormat TVTuner_TVFormat { get; set; }Property Value
Tags
Gets or sets tag that will be written to output file.
public MediaFileTags Tags { get; set; }Property Value
Timeshift_Settings
Gets or sets timeshift settings.
public TimeshiftSettings Timeshift_Settings { get; set; }Property Value
VLC_Path
Gets or sets LibVLC path. Plugins must be located in VLC\Plugins.
public string VLC_Path { get; set; }Property Value
VideoView
Gets or sets the video view.
[JsonIgnore]
public IVideoView VideoView { get; set; }Property Value
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
Video_Crop
Gets or sets video crop settings.
public VideoCropSettings Video_Crop { get; set; }Property Value
Video_Decoder
Gets or sets video decoder used during IP capture (if FFMPEG decoding is disabled).
public string Video_Decoder { get; set; }Property Value
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
Video_Effects_Enabled
Gets or sets a value indicating whether video effects (CPU) enabled.
public bool Video_Effects_Enabled { get; set; }Property Value
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
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
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
Video_Renderer
Gets or sets video renderer settings.
public VideoRendererSettings Video_Renderer { get; set; }Property Value
Video_Resize
Gets or sets video resize settings. Use VideoResizeSettings, MaxineUpscaleSettings or MaxineSuperResSettings classes.
public IVideoResizeSettings Video_Resize { get; set; }Property Value
Video_ResizeOrCrop_Enabled
Gets or sets a value indicating whether resize or crop enabled.
public bool Video_ResizeOrCrop_Enabled { get; set; }Property Value
Video_Rotation
Gets or sets video rotation mode.
public RotateMode Video_Rotation { get; set; }Property Value
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
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
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
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
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
Virtual_Camera_Output_LicenseKey
Gets or sets Virtual Camera SDK license key.
public string Virtual_Camera_Output_LicenseKey { get; set; }Property Value
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
namestring-
The name of the audio capture device to add.
formatstring-
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
namestring-
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
indexint-
The zero-based index of the additional audio capture device.
Returns
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
indexint-
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
indexint-
The zero-based index of the additional audio capture device.
volumeint-
The volume level to set, in percent (0-100).
autoGainbool-
Set to
trueto enable automatic gain control.
Returns
- bool
-
trueif 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
indexint-
The zero-based index of the additional audio capture device.
volumeint-
The volume level to set, in percent (0-100).
autoGainbool-
Set to
trueto enable automatic gain control.
Returns
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
indexint-
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
-
trueif successful,falseotherwise.
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
valueAudioMixerValues-
The audio mixer values object containing the setting.
typeAudioMixerValueType-
The specific type of mixer value to set (e.g., Volume, Pan, Treble).
Returns
- bool
-
trueif 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
valueAudioMixerValues-
Value.
typeAudioMixerValueType-
Type.
Returns
Audio_CaptureDevice_SetVolume(int, bool)
Sets the volume of the audio capture device.
public bool Audio_CaptureDevice_SetVolume(int volume, bool autoGain)Parameters
volumeint-
The volume level to set, in percent (0-100).
autoGainbool-
Set to
trueto enable automatic gain control.
Returns
- bool
-
trueif 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
volumeint-
The volume level to set, in percent (0-100).
autoGainbool-
Set to
trueto enable automatic gain control.
Returns
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
parentnint-
The parent window handle for the dialog.
deviceNamestring-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
effectTypeAudioEffectType-
The type of audio effect to add.
namestring-
A unique name for the effect instance.
enabledbool-
Initial enabled state.
startTimeTimeSpan-
Start time for the effect application.
stopTimeTimeSpan-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance to configure.
volumeint-
Amplification level. A value of 10000 means no amplification (1x). 20000 means 2x amplification.
separatebool-
trueto amplify channels separately (volume array expected if implemented);falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
cutOffHighfloat-
High cutoff frequency in Hz.
cutOffLowfloat-
Low cutoff frequency in Hz.
separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
ordersbyte[,]-
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
streamIndexint-
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
streamIndexint-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
delayfloat-
Delay in milliseconds (0.0 - 20.0).
depthfloat-
Modulation depth (0.0 - 100.0).
feedbackfloat-
Feedback level (-99.0 - 99.0).
frequencyfloat-
Frequency of the LFO (0.0 - 10.0).
phaseDSChorusPhase-
Phase of the LFO.
waveformTriangleDSChorusWaveForm-
LFO waveform type (VisioForge.Core.Types.AudioEffects.DSChorusWaveForm).
wetDryMixfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
attackfloat-
Attack time in milliseconds (0.01 - 500.0).
gainfloat-
Output gain in dB (-60.0 - 60.0).
preDelayfloat-
Pre-delay in milliseconds (0.0 - 4.0).
ratiofloat-
Compression ratio (1.0 - 100.0).
releasefloat-
Release time in milliseconds (50.0 - 3000.0).
thresholdfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
edgefloat-
Percentage of distortion intensity (0.0 - 100.0).
gainfloat-
Output gain in dB (-60.0 - 0.0).
postEQBandwidthfloat-
Bandwidth of the post-EQ in Hz (100.0 - 8000.0).
postEQCenterFrequencyfloat-
Center frequency of the post-EQ in Hz (100.0 - 8000.0).
preLowpassCutOfffloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
feedbackfloat-
Feedback level percentage (0.0 - 100.0).
leftDelayfloat-
Delay for the left channel in milliseconds (1.0 - 2000.0).
rightDelayfloat-
Delay for the right channel in milliseconds (1.0 - 2000.0).
panDelayint-
Pan delay (boolean-like integer, 0 or 1), determining capturing delay swapping.
wetDryMixfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
delayfloat-
Time delay in milliseconds (0.0 - 4.0).
depthfloat-
Modulation depth (0.0 - 100.0).
feedbackfloat-
Feedback level (-99.0 - 99.0).
frequencyfloat-
Frequency of the LFO (0.0 - 10.0).
phaseint-
Phase of the LFO (0 - 4), see VisioForge.Core.Types.AudioEffects.DSFlangerPhase for values.
waveformDSFlangerWaveForm-
Waveform of the LFO (VisioForge.Core.Types.AudioEffects.DSFlangerWaveForm).
wetDryMixfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
rateHzint-
Modulation rate in Hz (1 - 1000).
waveFormDSGargleWaveForm-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
bandwidthfloat-
Bandwidth in semitones (1.0 - 36.0).
centerfloat-
Center frequency in Hz (80.0 - 16000.0).
gainfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
decayHFRatiofloat-
Ratio of high-frequency decay time to decay time (0.1 - 2.0).
decayTimefloat-
Decay time in seconds (0.1 - 20.0).
densityfloat-
Modal density in percent (0.0 - 100.0).
diffusionfloat-
Echo diffusion in percent (0.0 - 100.0).
HFReferencefloat-
Reference high frequency in Hz (20.0 - 20000.0).
presetDSI3DL2ReverbPreset-
Environmental preset to load.
qualityint-
Quality of the reverb (0 - 3).
reflectionsint-
Attentuation of early reflections in dB (-10000 - 1000).
reflectionsDelayfloat-
Delay of early reflections in seconds (0.0 - 0.3).
reverbValueint-
Reverb attenuation in dB (-10000 - 2000).
reverbDelayfloat-
Reverb delay in seconds (0.0 - 0.1).
roomint-
Room attenuation in dB (-10000 - 0).
roomHFint-
Room high-frequency attenuation in dB (-10000 - 0).
roomRollOffFactorfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
highFreqRTRatiofloat-
Ratio of high-frequency reverb time to reverb time (0.001 - 0.999).
inGainfloat-
Input gain in dB (-96.0 - 0.0).
reverbMixfloat-
Reverb mix in dB (-96.0 - 0.0).
reverbTimefloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
attackTimeint-
Attack time in milliseconds.
maxAmplificationint-
Maximum amplification level. 10000 = 1x (no amp), 20000 = 2x.
releaseTimeint-
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
streamIndexint-
The index of the audio stream (0-3), or -1 to query the first available instance.
namestring-
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
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
separatebool-
trueto process channels separately;falseto apply the same settings to all channels. maxGainDBfloat-
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
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
indexint-
The zero-based index of the frequency band.
valueint-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
presetEqualizerPreset-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
startVolumeint-
The starting volume level (0-10000).
stopVolumeint-
The ending volume level (0-10000).
startTimeTimeSpan-
The time to start fading.
stopTimeTimeSpan-
The time to stop fading.
separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
cutOffint-
The cutoff frequency in Hz.
separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
cutOffint-
The cutoff frequency in Hz.
separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
cutOffint-
The center frequency of the notch filter in Hz.
separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
invertbool-
trueto invert the phase;falseto maximize value. separatebool-
trueto process channels separately;falseto 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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
depthbyte-
Phaser depth (0 - 255).
dryWetRatiobyte-
Dry/Wet mix ratio (0 = dry, 255 = wet).
feedbackbyte-
Feedback intensity (-100 to 100).
frequencyfloat-
LFO frequency in Hz.
separatebool-
trueto process channels separately;falseto apply the same settings to all channels. stagesbyte-
Number of phaser stages (recommended 2 - 24).
startPhasefloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
pitchfloat-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
channelsbyte-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
volumeint-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
frequencyint-
The crossover frequency for treble amplification.
separatebool-
trueto process channels separately;falseto apply the same settings to all channels. volumeint-
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
streamIndexint-
The index of the audio stream (0-3), or -1 for all streams.
namestring-
The name of the effect instance.
frequencyint-
The crossover frequency for bass amplification.
separatebool-
trueto process channels separately;falseto apply the same settings to all channels. volumeint-
Amplification level (0-10000).
Audio_Enhancer_AutoGain(bool)
Enables or disables audio auto-gain enhancement.
public void Audio_Enhancer_AutoGain(bool enabled)Parameters
enabledbool-
Set to
trueto enable auto-gain;falseto disable.
Audio_Enhancer_AutoGainAsync(bool)
Enables or disables audio auto-gain enhancement asynchronously.
public Task Audio_Enhancer_AutoGainAsync(bool enabled)Parameters
enabledbool-
Set to
trueto enable auto-gain;falseto 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
gainsAudioEnhancerGains-
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
gainsAudioEnhancerGains-
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
enabledbool-
Set to
trueto enable normalization;falseto disable.
Audio_Enhancer_NormalizeAsync(bool)
Enables or disables audio normalization enhancement asynchronously.
public Task Audio_Enhancer_NormalizeAsync(bool enabled)Parameters
enabledbool-
Set to
trueto enable normalization;falseto 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
gainsAudioEnhancerGains-
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
gainsAudioEnhancerGains-
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
timeshiftint-
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
timeshiftint-
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
balanceint-
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
volumeint-
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
-
trueif 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
bdaTuningParametersBDATuningParameters-
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
widthint-
The new width for the video renderer in pixels.
heightint-
The new height for the video renderer in pixels.
updateHandlebool-
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
CaptureScreenToImage(Rectangle)
Captures a specified region of the screen to an image.
public Bitmap CaptureScreenToImage(Rectangle rect)Parameters
rectRectangle-
The rectangle defining the region to capture.
Returns
CaptureWindowToImage(nint)
Captures the window with the specified handle to a bitmap image.
public Bitmap CaptureWindowToImage(nint windowHandle)Parameters
windowHandlenint-
The handle of the window to capture.
Returns
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
windowHandlenint-
The handle of the window to capture from.
rectRectangle-
The rectangle defining the region within the window to capture.
Returns
ConvertHexStringToByteArray(string)
Converts a hexadecimal string representation into a byte array.
public byte[] ConvertHexStringToByteArray(string hexString)Parameters
hexStringstring-
Hex string with an even number of characters (e.g. A1B2C3).
Returns
- byte[]
-
Byte array decoded from the hex string.
Exceptions
- ArgumentNullException
-
Thrown when
hexStringisnull. - 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
videoViewIVideoView-
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
apistring-
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
enabledbool-
True to enable custom redist, false to disable.
CustomRedist_IsEnabled()
Gets custom redist status.
public bool CustomRedist_IsEnabled()Returns
CustomRedist_VirtualCameraRegister()
Registers Virtual Camera SDK and network virtual streaming filters. Admin rights required.
public bool CustomRedist_VirtualCameraRegister()Returns
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
DV_SendCommand(DVCommand)
Sends a control command to the DV/HDV camcorder.
public bool DV_SendCommand(DVCommand command)Parameters
commandDVCommand-
The VisioForge.Core.Types.VideoCapture.DVCommand to send.
Returns
- bool
-
trueif 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
commandDVCommand-
The VisioForge.Core.Types.VideoCapture.DVCommand to send.
Returns
- Task<bool>
-
A task representing the asynchronous operation. The task result is
trueif 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
commandDVCommand-
DV command.
Returns
Decklink_CaptureDevicesAsync()
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.
Decklink_Input_GetVideoFramesCount(out long, out long)
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
droppedFrameslong-
When this method returns, contains the number of dropped frames.
totalFrameslong-
When this method returns, contains the total number of frames received.
Returns
- bool
-
trueif the frame counts were retrieved successfully; otherwise,false.
Decklink_Input_GetVideoFramesCountAsync()
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.
Decklink_Output_AudioRenderers()
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.
Decklink_Output_GetAudioProps()
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
nullif the renderer is not active.
Decklink_Output_GetVideoProps()
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
nullif the renderer is not active.
Decklink_Output_VideoRenderers()
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
categoryFilterCategoryX-
The filter category.
namestring-
The name of the filter.
mediaTypeMediaTypeCategory-
The media type category.
formatsList<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
categoryFilterCategoryX-
The filter category.
namestring-
The name of the filter.
mediaTypeMediaTypeCategory-
The media type category.
formatsList<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
filterstring-
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
disposingbool-
If
true, disposing of managed resources; iffalse, 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
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
widthint-
When this method returns, contains the frame width.
heightint-
When this method returns, contains the frame height.
Returns
- byte[]
-
A byte array containing the frame data, or
nullif 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
bufferbyte[]-
The buffer to copy the frame data into. If null, a new buffer will be created.
widthint-
When this method returns, contains the frame width.
heightint-
When this method returns, contains the frame height.
Returns
- bool
-
trueif 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
timestampTimeSpan-
When this method returns, contains the timestamp of the frame.
Returns
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
filenamestring-
The path where the image file will be saved.
formatImageFormat-
The image format to use (e.g., JPEG, BMP, PNG).
qualityint-
The quality level for JPEG images (0-100).
customWidthint-
Optional custom width for resizing the saved image. Set to 0 to keep original width.
customHeightint-
Optional custom height for resizing the saved image. Set to 0 to keep original height.
Returns
- bool
-
trueif 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
filenamestring-
The path where the image file will be saved.
formatImageFormat-
The image format to use (e.g., JPEG, BMP, PNG).
qualityint-
The quality level for JPEG images (0-100). Default is 85.
customWidthint-
Optional custom width for resizing the saved image. Set to 0 to keep original width.
customHeightint-
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
trueif 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
filenamestring-
File name.
timestampTimeSpan-
Timestamp.
oldWaybool-
If true - old way (using IMediaDet interface), if false - Sample Grabber will be used.
engineMediaPlayerSourceMode-
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
filenamestring-
File name.
timestampTimeSpan-
Timestamp.
oldWaybool-
If true - old way (using IMediaDet interface), if false - Sample Grabber will be used.
engineMediaPlayerSourceMode-
Engine. LAV and DirectShow are supported.
Returns
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
ipIPAddress-
The IP address of the camera.
portint-
The port number.
protocolProtocolType-
The protocol type (TCP or UDP).
timeoutTimeSpan-
The timeout duration for the connection attempt.
Returns
- bool
-
trueif 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
urlUri-
The URL of the camera.
portint-
The port number.
protocolProtocolType-
The protocol type (TCP or UDP).
timeoutTimeSpan-
The timeout duration for the connection attempt.
Returns
- bool
-
trueif 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
urlis 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
showOnlyLocalSourcesbool-
Set to
trueto list only sources on the local machine. groupsstring[]-
Optional list of groups to search for sources.
extraIPsstring[]-
Optional list of additional IP addresses to query for sources.
Returns
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
showOnlyLocalSourcesbool-
Set to
trueto list only sources on the local machine. groupsstring[]-
Optional list of groups to search for sources.
extraIPsstring[]-
Optional list of additional IP addresses to query for sources.
Returns
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
timeoutTimeSpan?-
The timeout duration for discovery.
ctsCancellationTokenSource?-
An optional cancellation token to cancel the discovery process.
Returns
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
timeoutTimeSpan?-
The timeout duration for discovery. Defaults to 5 seconds if null.
ctsCancellationTokenSource?-
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
onDeviceDiscoveredAction<DiscoveryDevice>-
The callback action to invoke when a device is discovered.
timeoutTimeSpan?-
The timeout duration for discovery. Defaults to 10 seconds if null.
ctsCancellationTokenSource?-
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
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
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
positionTimeSpan-
The desired playback position.
Returns
- bool
-
trueif 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
positionTimeSpan-
The desired playback position.
Returns
IsAsync()
Indicates whether the capture instance is configured for asynchronous operation.
public bool IsAsync()Returns
- bool
-
trueif async mode is enabled;falsefor 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
-
trueif the source is connected and the OnSourceConnected event has been fired;falseotherwise.
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
screenHandlenint-
The handle (HWND) of the window to use as the screen.
widthint-
The width of the screen in pixels.
heightint-
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
videoViewIVideoView-
The VisioForge.Core.Types.IVideoView control to use as the screen.
widthint-
The width of the screen in pixels.
heightint-
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
idint-
The zero-based index of the screen.
stretchVideoRendererStretchMode-
The stretch mode to apply (e.g., Letterbox, Fill).
flipHorizontalbool-
trueto flip the video horizontally; otherwise,false. flipVerticalbool-
trueto 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
idint-
The zero-based index of the screen.
stretchVideoRendererStretchMode-
The stretch mode to apply (e.g., Letterbox, Fill).
flipHorizontalbool-
trueto flip the video horizontally; otherwise,false. flipVerticalbool-
trueto 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
idint-
The zero-based index of the screen.
ratioint-
The zoom ratio in percent (e.g., 100 for normal size, 200 for 2x zoom).
shiftXint-
The horizontal shift value for the zoomed area.
shiftYint-
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
idint-
The zero-based index of the screen.
ratioint-
The zoom ratio in percent (e.g., 100 for normal size, 200 for 2x zoom).
shiftXint-
The horizontal shift value for the zoomed area.
shiftYint-
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
idint-
The zero-based index of the screen.
widthint-
The new width of the screen in pixels.
heightint-
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
idint-
The zero-based index of the screen.
widthint-
The new width of the screen in pixels.
heightint-
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
contextBaseContext-
Context.
showOnlyLocalSourcesbool-
True to list only sources on this PC.
groupsstring[]-
Which groups do you want to search in for sources.
extraIPsstring[]-
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
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
Returns
- bool
-
trueif successful,falseotherwise.
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
Returns
- bool
-
trueif successful,falseotherwise.
Network_Streaming_WMV_Access_GetCount(bool)
Gets item count of allowed/disallowed addresses list.
public int Network_Streaming_WMV_Access_GetCount(bool blocked)Parameters
blockedbool-
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
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
idint-
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
leftint-
The left position of the layer relative to the video frame.
topint-
The top position of the layer relative to the video frame.
widthint-
The width of the layer in pixels.
heightint-
The height of the layer in pixels.
enabledbool-
If
true, the layer will be visible immediately; iffalse, it will be hidden.
Returns
- bool
-
trueif the layer was successfully created;falseif 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
idint-
The zero-based index of the OSD layer to delete.
Returns
- bool
-
trueif the layer was successfully deleted;falseif 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
idint-
The zero-based index of the OSD layer to draw on.
filenamestring-
The full path to the image file to draw.
leftint-
The left position where the image will be drawn on the layer.
topint-
The top position where the image will be drawn on the layer.
useColorKeybool-
If
true, treats the specified color as transparent. colorKeyColor-
The color to treat as transparent when useColorKey is true.
Returns
- bool
-
trueif the image was successfully drawn;falseif 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
idint-
The zero-based index of the OSD layer to draw on.
filenamestring-
The full path to the image file to draw.
srcRectRectangle-
The source rectangle defining which portion of the image to draw. Use Rectangle.Empty to draw the entire image.
destRectRectangle-
The destination rectangle on the layer. Width/height of 0 uses the source image dimensions.
useColorKeybool-
If
true, treats the specified color as transparent. colorKeyColor-
The color to treat as transparent when useColorKey is true.
Returns
- bool
-
trueif the image was successfully drawn;falseif 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
idint-
The zero-based index of the OSD layer to draw on.
imageBitmap-
The Bitmap object to draw. Must not be null.
srcRectRectangle-
The source rectangle defining which portion of the image to draw. Use Rectangle.Empty to draw the entire image.
destRectRectangle-
The destination rectangle on the layer. Width/height of 0 uses the source image dimensions.
useColorKeybool-
If
true, treats the specified color as transparent. colorKeyColor-
The color to treat as transparent when useColorKey is true.
Returns
- bool
-
trueif the image was successfully drawn;falseif 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
idint-
The zero-based index of the OSD layer to draw on.
leftint-
The left position where the text will be drawn.
topint-
The top position where the text will be drawn.
textstring-
The text string to display.
fontFont-
The font to use for rendering the text.
colorColor-
The color of the text.
Returns
- bool
-
trueif the text was successfully drawn;falseif 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
idint-
The zero-based index of the OSD layer to enable or disable.
enabledbool-
If
true, the layer will be rendered; iffalse, 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
idint-
The zero-based index of the OSD layer.
bitmapBitmap-
When this method returns, contains the Bitmap object of the layer, or null if the operation failed.
Returns
- bool
-
trueif the bitmap was successfully retrieved;falseif 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
idint-
The zero-based index of the OSD layer to move.
xint-
The new X coordinate (left position) for the layer.
yint-
The new Y coordinate (top position) for the layer.
Returns
- bool
-
trueif the layer was successfully moved;falseif 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
-
trueif the layers were successfully rendered;falseif 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
idint-
The zero-based index of the OSD layer.
valuebyte-
The transparency level (0 = fully transparent, 255 = fully opaque).
Returns
- bool
-
trueif the transparency was successfully set;falseif 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
propertyNamestring-
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
filenamestring-
The new output filename.
Returns
- bool
-
trueif 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
filenamestring-
The new output filename.
Returns
- Task<bool>
-
A task representing the asynchronous operation. The task result is
trueif 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
colorColor-
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
filenamestring-
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
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
sourceIPCameraSourceSettings-
The IP camera source settings including URL, credentials, and engine type.
outLeftint-
The left position of the PIP window in the output video.
outTopint-
The top position of the PIP window in the output video.
outWidthint-
The width of the PIP window in the output video.
outHeightint-
The height of the PIP window in the output video.
Returns
- bool
-
trueif the IP camera was successfully added;falseif 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
screenSourceScreenCaptureSourceSettings-
The screen capture settings including capture area, display index, and mouse cursor options.
outLeftint-
The left position of the PIP window in the output video.
outTopint-
The top position of the PIP window in the output video.
outWidthint-
The width of the PIP window in the output video.
outHeightint-
The height of the PIP window in the output video.
Returns
- bool
-
trueif the screen source was successfully added;falseif 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
deviceNamestring-
The name of the video capture device. You can use the device path for devices with duplicate names.
formatstring-
The desired video format (e.g., "YUY2 640x480"). Pass null to use default.
useBestFormatbool-
If
true, automatically selects the best available format, ignoring the format parameter. frameRateVideoFrameRate-
The desired frame rate for capture.
inputstring-
The crossbar input name (e.g., "Video Composite In"). Pass null if no crossbar.
leftint-
The left position of the PIP window in the output video.
topint-
The top position of the PIP window in the output video.
widthint-
The width of the PIP window in the output video.
heightint-
The height of the PIP window in the output video.
Returns
- bool
-
trueif the device was successfully added;falseif 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
deviceVideoCaptureSource-
The pre-configured video capture device source object.
leftint-
The left position of the PIP window in the output video.
topint-
The top position of the PIP window in the output video.
widthint-
The width of the PIP window in the output video.
heightint-
The height of the PIP window in the output video.
crossbarInputstring-
The crossbar input name (e.g., "Video Composite In"). Pass null if no crossbar.
Returns
- bool
-
trueif the device was successfully added;falseif 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
filenamestring-
The full path to the video file to add.
outLeftint-
The left position of the PIP window in the output video.
outTopint-
The top position of the PIP window in the output video.
outWidthint-
The width of the PIP window in the output video.
outHeightint-
The height of the PIP window in the output video.
Returns
- bool
-
trueif the video file was successfully added;falseif 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
indexint-
The zero-based index of the PIP source to remove.
Returns
- bool
-
trueif the device was successfully removed;falseif 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
deviceNamestring-
The name of the video capture device to query for crossbar information.
Returns
- bool
-
trueif the crossbar was successfully initialized and queried;falseotherwise.
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
indexint-
The one-based index of the PIP source to update (must be a screen capture source).
leftint-
The new left coordinate of the capture area on the screen.
topint-
The new top coordinate of the capture area on the screen.
grabMouseCursorbool-
If
true, includes the mouse cursor in the capture.
Returns
- bool
-
trueif the settings were successfully updated;falseif 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
indexint-
The one-based index of the PIP source to update (must be a screen capture source).
leftint-
The new left coordinate of the capture area on the screen.
topint-
The new top coordinate of the capture area on the screen.
grabMouseCursorbool-
If
true, includes the mouse cursor in the capture.
Returns
- Task<bool>
-
A task that represents the asynchronous operation. The task result contains
trueif successful;falseotherwise.
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
indexint-
The one-based index of the PIP source to configure.
horizontalbool-
If
true, flips the video horizontally (mirror effect). verticalbool-
If
true, flips the video vertically.
Returns
- bool
-
trueif the flip settings were successfully applied;falseif 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
indexint-
The one-based index of the PIP source to configure.
horizontalbool-
If
true, flips the video horizontally (mirror effect). verticalbool-
If
true, flips the video vertically.
Returns
- Task<bool>
-
A task that represents the asynchronous operation. The task result contains
trueif successful;falseotherwise.
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
indexint-
The one-based index of the PIP source to reorder.
orderint-
The new Z-order position (0 is bottom/back, higher values are on top/front). Valid range: 0 to (stream count - 1).
Returns
- bool
-
trueif the order was successfully updated;falseif 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
indexint-
The one-based index of the PIP source to reorder.
orderint-
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
trueif successful;falseotherwise.
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
indexint-
The one-based index of the PIP source to reposition (1 for first PIP source, 2 for second, etc.).
rectRectangle-
The rectangle defining the new position and size of the PIP source (Left, Top, Width, Height).
Returns
- bool
-
trueif the position was successfully updated;falseif 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
indexint-
The one-based index of the PIP source to reposition (1 for first PIP source, 2 for second, etc.).
rectRectangle-
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
trueif successful;falseotherwise.
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
indexint-
The one-based index of the PIP source to configure.
transparencyint-
The transparency level (0-255, where 0 is fully transparent and 255 is fully opaque).
flipXbool-
If
true, flips the video horizontally (mirror effect). flipYbool-
If
true, flips the video vertically. disabledbool-
If
true, disables the PIP stream (hides it from view).
Returns
- bool
-
trueif the settings were successfully applied;falseif 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
indexint-
The one-based index of the PIP source to configure.
transparencyint-
The transparency level (0-255, where 0 is fully transparent and 255 is fully opaque).
flipXbool-
If
true, flips the video horizontally (mirror effect). flipYbool-
If
true, flips the video vertically. disabledbool-
If
true, disables the PIP stream (hides it from view).
Returns
- Task<bool>
-
A task that represents the asynchronous operation. The task result contains
trueif successful;falseotherwise.
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
indexint-
The one-based index of the PIP source to configure.
transparencydouble-
The transparency level as a normalized value (0.0 = fully transparent, 1.0 = fully opaque).
Returns
- bool
-
trueif the transparency was successfully set;falseif 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
indexint-
The one-based index of the PIP source to configure.
transparencydouble-
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
trueif successful;falseotherwise.
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
deviceNamestringpropertyCameraControlProperty
Returns
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
deviceNamestringpropertyCameraControlProperty
Returns
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
deviceNamestringpropertyCameraControlProperty
Returns
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
deviceNamestringpropertyCameraControlProperty
Returns
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
deviceNamestringpropertyCameraControlPropertyvalueVideoCaptureDeviceCameraControlValue
Returns
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
deviceNamestringpropertyCameraControlPropertyvalueVideoCaptureDeviceCameraControlValue
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustment
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustment
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustment
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustment
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustmentvalueVideoCaptureDeviceAdjustValue
Returns
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
deviceNamestringadjustTypeVideoHardwareAdjustmentvalueVideoCaptureDeviceAdjustValue
Returns
Pause()
Pauses the running capture or preview graph synchronously.
public bool Pause()Returns
- bool
-
trueon success, orfalseif 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
trueon success, orfalseif 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
frameBitmap-
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
framenint-
Pointer to the unmanaged memory containing the frame data.
frameSizeint-
Size of the frame data in bytes.
widthint-
Width of the video frame in pixels.
heightint-
Height of the video frame in pixels.
Returns
- bool
-
trueif 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
frameBitmap-
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
framenint-
Pointer to the unmanaged memory containing the frame data.
frameSizeint-
Size of the frame data in bytes.
widthint-
Width of the video frame in pixels.
heightint-
Height of the video frame in pixels.
Returns
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
devicesbool-
When
true, re-enumerates video and audio capture devices. codecsbool-
When
true, re-enumerates audio and video compressor codecs. filtersbool-
When
true, re-enumerates legacy DirectShow filters. ignoreDecklinkInDSListingsbool-
When
true, Decklink devices are excluded from the standard DirectShow device listing to avoid duplicates. Default istrue.
Resume()
Resumes a paused capture or preview graph synchronously.
public bool Resume()Returns
- bool
-
trueon success, orfalseif 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
trueon success, orfalseif 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
leftint-
The new left coordinate of the capture area.
topint-
The new top coordinate of the capture area.
grabMouseCursorbool-
Set to
trueto capture the mouse cursor. highlightMouseCursorbool-
Set to
trueto highlight the mouse cursor position. Default isfalse.
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
leftint-
The new left coordinate of the capture area.
topint-
The new top coordinate of the capture area.
grabMouseCursorbool-
Set to
trueto capture the mouse cursor. highlightMouseCursorbool-
Set to
trueto highlight the mouse cursor position. Default isfalse.
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
filenamestring-
New file name.
Returns
SeparateCapture_ChangeFilenameOnTheFlyAsync(string)
Changes file name on the fly (async). Separate capture must be enabled.
public Task<bool> SeparateCapture_ChangeFilenameOnTheFlyAsync(string filename)Parameters
filenamestring-
New file name.
Returns
SeparateCapture_Pause()
Pauses capture. Separate capture must be enabled.
public bool SeparateCapture_Pause()Returns
SeparateCapture_PauseAsync()
Pauses capture. Separate capture must be enabled.
public Task<bool> SeparateCapture_PauseAsync()Returns
SeparateCapture_Resume()
Resumes capture. Separate capture must be enabled.
public bool SeparateCapture_Resume()Returns
SeparateCapture_ResumeAsync()
Resumes capture (async). Separate capture must be enabled.
public Task<bool> SeparateCapture_ResumeAsync()Returns
SeparateCapture_Start(string)
Starts capture. Separate capture must be enabled.
public bool SeparateCapture_Start(string filename)Parameters
filenamestring-
Output file name.
Returns
SeparateCapture_StartAsync(string)
Starts capture. Separate capture must be enabled.
public Task<bool> SeparateCapture_StartAsync(string filename)Parameters
filenamestring-
Output file name.
Returns
SeparateCapture_Stop()
Stops capture. Separate capture must be enabled.
public bool SeparateCapture_Stop()Returns
SeparateCapture_StopAsync()
Stops capture (async). Separate capture must be enabled.
public Task<bool> SeparateCapture_StopAsync()Returns
SetLicenseCertificateAsync(byte[])
Loads a license certificate into this instance and activates it if the certificate requires activation.
public Task SetLicenseCertificateAsync(byte[] certificateData)Parameters
certificateDatabyte[]-
The bytes of a
.vflicensecertificate 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
jsonFilenamestring-
Path to the JSON settings file previously saved by VisioForge.Core.VideoCapture.VideoCaptureCore.Settings_Save(System.String,System.String).
Returns
- bool
-
trueif the file was loaded and settings were applied;falseon 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
jsonFilenamestring-
Destination path for the JSON settings file.
infoFilenamestring-
Destination path for the SDK version info text file. Pass
nullor empty to skip.
Returns
- bool
-
trueif all files were written successfully;falseon 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
filterTypeSpecialFilterType-
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
-
truewhen the graph is running, orfalseon 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
truewhen the graph is running, orfalseon 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
-
trueif successful,falseotherwise.
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
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
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
countrystring-
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
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
formatstring-
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
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
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
propertyCameraControlProperty-
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
propertyCameraControlProperty-
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
propertyCameraControlProperty-
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
propertyCameraControlProperty-
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
propertyCameraControlProperty-
The camera control property to set (e.g., Pan, Tilt, Zoom).
valueVideoCaptureDeviceCameraControlValue-
The value to set for the property.
Returns
- bool
-
trueif 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
propertyCameraControlProperty-
The camera control property to set (e.g., Pan, Tilt, Zoom).
valueVideoCaptureDeviceCameraControlValue-
The value to set for the property.
Returns
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
inputPinstring-
The name of the input pin.
outputPinstring-
The name of the output pin.
connectRelatedbool-
Set to
trueto also connect related pins (e.g., audio).
Returns
- bool
-
trueif 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
outputPinstring-
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
outputPinstring-
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
inputPinstring-
The name of the input pin.
outputPinstring-
The name of the output pin.
relatedInputPinstring-
When this method returns, contains the name of the related input pin.
relatedOutputPinstring-
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
deviceNamestring-
The name of the video capture device.
Returns
- bool
-
trueif 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
Video_CaptureDevice_SetDefault()
Set the video capture device to default.
public bool Video_CaptureDevice_SetDefault()Returns
- bool
-
trueif successful,falseotherwise.
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
parentnint-
Parent handle. Use IntPtr.Zero if you are do not want to have a parent.
deviceNamestring-
Device name.
propertyPagePropertyPageType-
Property page.
Video_CaptureDevice_SignalPresent()
Checks if the video capture device detects a video signal.
public bool Video_CaptureDevice_SignalPresent()Returns
- bool
-
trueif 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
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
keyVideoCaptureVendorAPIKey-
Vendor API key identifying the property or capability to query.
Returns
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
keyVideoCaptureVendorAPIKey-
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
nullif 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
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
keyVideoCaptureVendorAPIKey-
The vendor property key.
valueTypeVideoCaptureVendorAPIValueType-
The value type of the property.
value1object-
The primary value for the property.
value2object-
The secondary value for the property (if applicable).
Returns
- bool
-
trueif 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
keyVideoCaptureVendorAPIKey-
The vendor property key.
valueTypeVideoCaptureVendorAPIValueType-
The value type of the property.
value1object-
The primary value for the property.
value2object-
The secondary value for the property (if applicable).
Returns
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
keyVideoCaptureVendorAPIKey-
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
keyVideoCaptureVendorAPIKey-
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
adjustTypeVideoHardwareAdjustment-
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
adjustTypeVideoHardwareAdjustment-
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
adjustTypeVideoHardwareAdjustment-
The type of video hardware adjustment.
valueint-
When this method returns, contains the current value of the adjustment.
autobool-
When this method returns, indicates if the adjustment is in auto mode.
Returns
- bool
-
trueif 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
adjustTypeVideoHardwareAdjustment-
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
adjustTypeVideoHardwareAdjustment-
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
adjustTypeVideoHardwareAdjustment-
The type of video hardware adjustment.
valueVideoCaptureDeviceAdjustValue-
The new value to set, including the numeric value and auto-mode status.
Returns
- bool
-
trueif 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
adjustTypeVideoHardwareAdjustment-
The type of video hardware adjustment.
valueVideoCaptureDeviceAdjustValue-
The new value to set, including the numeric value and auto-mode status.
Returns
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
effectIVideoEffect-
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
effectIGPUVideoEffect-
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
namestring-
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
namestring-
Effect name.
Video_Effects_Get(string)
Retrieves a specific video effect instance by its name.
public IVideoEffect Video_Effects_Get(string name)Parameters
namestring-
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
namestring-
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
filterCustomProcessingFilter-
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
handlenint-
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
newWidthint-
The new width of the video renderer. Set to 0 to keep current width.
newHeightint-
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
newWidthint-
The new width of the video renderer. Set to 0 to keep current width.
newHeightint-
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
adjustmentVideoRendererAdjustment-
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
adjustmentVideoRendererAdjustment-
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
adjustmentVideoRendererAdjustment-
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
adjustmentVideoRendererAdjustment-
Adjustment type.
Returns
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
adjustmentVideoRendererAdjustment-
The type of video adjustment.
valuefloat-
The new value to set.
Returns
- bool
-
trueif 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
adjustmentVideoRendererAdjustment-
The type of video adjustment.
valuefloat-
The new value to set.
Returns
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
allowAppRestartbool-
if set to
trueallows application restart with admin rights.
Returns
- bool
-
trueif successful,falseotherwise.
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
volumedouble-
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
valuedouble-
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
valuedouble-
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
valuebool-
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
valuebool-
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
valuebool-
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
valuebool-
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
valuedouble-
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
modeWMVStreamMode-
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
codecNamestring-
Audio codec name.
modeWMVStreamMode-
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
WMV_CustomProfile_VideoCodecs(WMVStreamMode)
Gets WMV video codec list.
public ObservableCollection<string> WMV_CustomProfile_VideoCodecs(WMVStreamMode mode)Parameters
modeWMVStreamMode-
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
OnAudioFrameBuffer
This event occurs whenever each new audio frame is received.
public event EventHandler<AudioFrameBufferEventArgs> OnAudioFrameBufferEvent Type
OnAudioVUMeter
This event occurs whenever each new audio VU meter data is received.
public event EventHandler<VUMeterEventArgs> OnAudioVUMeterEvent Type
OnAudioVUMeterProFFTCalculated
This event occurs whenever each new audio VU meter Pro FFT value is received.
public event EventHandler<VUMeterFFTEventArgs> OnAudioVUMeterProFFTCalculatedEvent Type
OnAudioVUMeterProMaximumCalculated
This event occurs whenever each new audio VU meter Pro min/max level is received.
public event EventHandler<VUMeterMaxSampleEventArgs> OnAudioVUMeterProMaximumCalculatedEvent Type
OnAudioVUMeterProVolume
This event occurs whenever each new audio VU meter Pro volume level is received.
public event EventHandler<AudioLevelEventArgs> OnAudioVUMeterProVolumeEvent Type
OnBDAChannelFound
This event occurs whenever each new DVB-x / ATSC channel found.
public event EventHandler<BDAChannelEventArgs> OnBDAChannelFoundEvent Type
OnBarcodeDetected
This event occurs whenever each new barcode detected. Event args contain barcode data.
public event EventHandler<BarcodeEventArgs> OnBarcodeDetectedEvent Type
OnClosedCaptionsBuffer
This event occurs in a case of an new closed caption.
public event EventHandler<ClosedCaptionsBufferEventArgs> OnClosedCaptionsBufferEvent Type
OnClosedCaptionsText
Closed captions text event.
public event EventHandler<ClosedCaptionsTextEventArgs> OnClosedCaptionsTextEvent Type
OnDataFrameBuffer
Occurs when new data frame buffer received. Current this event available only for FFMPEG engine.
public event EventHandler<DataFrameEventArgs> OnDataFrameBufferEvent Type
OnDecklinkInputDisconnected
This event occurs whenever Decklink input disconnected. Preview or capture should be started.
public event EventHandler<EventArgs> OnDecklinkInputDisconnectedEvent Type
OnDecklinkInputReconnected
This event occurs whenever Decklink input reconnected. Preview or capture should be started.
public event EventHandler<EventArgs> OnDecklinkInputReconnectedEvent Type
OnDeviceAdded
This event occurs whenever new device added.
public event EventHandler<DeviceRemovedAddedEventArgs> OnDeviceAddedEvent Type
OnDeviceRemoved
This event occurs whenever device removed.
public event EventHandler<DeviceRemovedAddedEventArgs> OnDeviceRemovedEvent Type
OnError
This event occurs in a case of an error.
public event EventHandler<ErrorsEventArgs> OnErrorEvent Type
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> OnFFMPEGInfoEvent Type
OnFFMPEGSourceTimestamp
Occurs when on FFMPEG source got new frame.
public event EventHandler<FFMPEGSourceTimestampEventArgs> OnFFMPEGSourceTimestampEvent Type
OnFaceDetected
This event occurs whenever each new video frame is received and a face(s) detected.
public event EventHandler<AFFaceDetectionEventArgs> OnFaceDetectedEvent Type
OnFilterAdded
Event occurring when each new DirectShow filter added.
public event EventHandler<FilterEventArgs> OnFilterAddedEvent Type
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> OnKLVPacketEmittedEvent Type
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> OnLicenseRequiredEvent Type
OnMJPEGLowLatencyRAWFrame
This event occurs whenever MJPEG low latency raw frame received.
public event EventHandler<byte[]> OnMJPEGLowLatencyRAWFrameEvent Type
- EventHandler<byte[]>
OnMotion
This event occurs whenever a new frame is received and motion is detected.
public event EventHandler<MotionDetectionEventArgs> OnMotionEvent Type
OnMotionDetectionEx
This event occurs whenever each new video frame is received. Event args contain motion data.
public event EventHandler<MotionDetectionExEventArgs> OnMotionDetectionExEvent Type
OnNetworkSourceDisconnect
This event occurs whenever network source stopped or disconnected.
public event EventHandler<EventArgs> OnNetworkSourceDisconnectEvent Type
OnRTSPLowLatencyRAWFrame
This event occurs whenever RTSP low latency raw frame received.
public event EventHandler<RawFrame> OnRTSPLowLatencyRAWFrameEvent Type
- EventHandler<RawFrame>
OnScreenCaptureKeyDown
Occurs when key pressed.
public event EventHandler<KeyEventArgs> OnScreenCaptureKeyDownEvent Type
OnScreenCaptureMouseClick
Occurs when mouse clicked.
public event EventHandler<MouseEventArgs> OnScreenCaptureMouseClickEvent Type
OnSeparateCaptureStarted
This event occurs whenever the separate capture started.
public event EventHandler<SeparateCaptureFileEventArgs> OnSeparateCaptureStartedEvent Type
OnSeparateCaptureStopped
This event occurs whenever the separate capture stopped.
public event EventHandler<SeparateCaptureFileEventArgs> OnSeparateCaptureStoppedEvent Type
OnSourceConnected
This event occurs whenever source connected and first video frame is received.
public event EventHandler<SourceConnectedEventArgs> OnSourceConnectedEvent Type
OnStart
This event occurs whenever the capture / preview starts.
public event EventHandler<EventArgs> OnStartEvent Type
OnStillVideoFrameBitmap
This event occurs whenever each new still video frame is received.
public event EventHandler<VideoFrameBitmapEventArgs> OnStillVideoFrameBitmapEvent Type
OnStillVideoFrameBuffer
This event occurs whenever each new still video frame is received.
public event EventHandler<VideoFrameBufferEventArgs> OnStillVideoFrameBufferEvent Type
OnStop
This event occurs whenever the capture / preview stop.
public event EventHandler<StopEventArgs> OnStopEvent Type
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> OnTVTunerTuneChannelsEvent Type
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> OnTimeshiftFileCreatedEvent Type
OnVideoFrameBitmap
This event occurs whenever each new video frame is received.
public event EventHandler<VideoFrameBitmapEventArgs> OnVideoFrameBitmapEvent Type
OnVideoFrameBuffer
This event occurs whenever each new video frame is received (RGB24).
public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferEvent Type
OnVideoFrameBufferOriginal
This event occurs whenever each new video frame is received (RGB24). Original frame without video effects or another processing.
public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferOriginalEvent Type
OnVideoFrameBufferRAW
This event occurs whenever each new video frame is received (RAW during IP capture).
public event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferRAWEvent Type
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> OnVideoFrameBufferWPFEvent Type
PropertyChanged
Occurs when a property value changes.
public event PropertyChangedEventHandler PropertyChangedEvent Type
Remarks
This event is part of the INotifyPropertyChanged implementation and allows data binding systems to be notified when properties are modified.