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 IMPVCVECoreRemarks
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
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
widthint-
The new width of the video frame.
heightint-
The new height of the video frame.
updateHandlebool-
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
-
trueif 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
-
trueif the source is connected;falseif 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> OnErrorEvent Type
OnStop
Occurs when the media playback or capture has stopped.
event EventHandler<StopEventArgs> OnStopEvent Type
OnVideoFrameBufferWPF
Occurs when a new video frame is available, providing the frame data in a buffer suitable for WPF applications.
event EventHandler<VideoFrameBufferEventArgs> OnVideoFrameBufferWPF