Table of Contents

Interface IMPVCVECore

Namespace
VisioForge.Core.Types
Assembly
VisioForge.Core.dll

Defines a common interface for core functionalities shared across Video Capture, Video Edit, and Media Player components.

public interface IMPVCVECore

Remarks

This interface provides a unified way to manage video rendering, playback state, and essential events for various media components in the VisioForge SDK. It abstracts the underlying implementation details, allowing for consistent control over different media operations.

The IMPVCVECore interface is implemented by:

  • MediaPlayerX - For media playback operations
  • VideoCaptureX - For video capture and recording
  • VideoEditX - For non-linear video editing
  • Other media processing components that share common functionality

Implementation requirements:

  • Thread-safe event handling for all exposed events
  • Proper state management and reporting
  • Support for both synchronous and asynchronous operations
  • Platform-specific renderer support on Windows
  • Consistent error handling and reporting

Properties

Video_Renderer

Gets or sets the settings for the video renderer, allowing customization of the video output.

VideoRendererSettings Video_Renderer { get; set; }

Property Value

VideoRendererSettings

Methods

CallVideoRendererUpdate(int, int, bool)

Triggers an update of the video renderer, typically to apply changes in resolution or rendering handle.

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

Parameters

width int

The new width of the video frame.

height int

The new height of the video frame.

updateHandle bool

A flag indicating whether the rendering window handle should be updated.

GetVideoRenderer()

Gets the current settings of the video renderer.

VideoRendererSettings GetVideoRenderer()

Returns

VideoRendererSettings

A VisioForge.Core.Types.VideoRendererSettings object with the current renderer configuration.

GetVideoRendererCore()

Gets the underlying video renderer core, providing access to low-level rendering functionalities.

IVideoRendererBase GetVideoRendererCore()

Returns

IVideoRendererBase

An VisioForge.Core.Types.IVideoRendererBase instance for direct renderer control.

GetVideoResolution()

Gets the resolution of the currently playing or captured video.

Size GetVideoResolution()

Returns

Size

A VisioForge.Core.Types.Size structure representing the video's width and height.

IsAsync()

Determines whether the component is operating in an asynchronous mode.

bool IsAsync()

Returns

bool

true if the component is asynchronous; otherwise, false.

IsSourceConnected()

Indicates whether the underlying capture source has produced its first frame and is considered live. Components that do not own a capture source (media players, video editors) should return true so consumers treat them as always-connected.

bool IsSourceConnected()

Returns

bool

true if the source is connected; false if a capture pipeline is configured but has not yet started producing frames.

Remarks

UI overlays use this to render a "no signal" state without taking a hard reference to a concrete capture-engine type. That keeps the WinForms / WPF designer JIT chain free of VideoCaptureCore's IAsyncDisposable dependency.

State()

Gets the current playback state of the media component (e.g., playing, paused, stopped).

PlaybackState State()

Returns

PlaybackState

A VisioForge.Core.Types.PlaybackState value indicating the current state.

OnError

Occurs when an error is encountered during media processing.

event EventHandler<ErrorsEventArgs> OnError

Event Type

EventHandler<ErrorsEventArgs>

OnStop

Occurs when the media playback or capture has stopped.

event EventHandler<StopEventArgs> OnStop

Event Type

EventHandler<StopEventArgs>

OnVideoFrameBufferWPF

Occurs when a new video frame is available, providing the frame data in a buffer suitable for WPF applications.

event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferWPF

Event Type

EventHandler<VideoFrameBufferEventArgs>