Table of Contents

Namespace VisioForge.Core.UI

Namespaces

VisioForge.Core.UI.Avalonia
VisioForge.Core.UI.MAUI
VisioForge.Core.UI.Skins
VisioForge.Core.UI.Uno
VisioForge.Core.UI.WinUI

Classes

CallbackVideoView

A headless video view implementation that provides frame callbacks without visual rendering.

This class serves as a callback-based video sink that receives video frames and forwards them to event handlers for custom processing, analysis, or forwarding to other systems, without performing any UI rendering operations. It's ideal for scenarios requiring frame access without a visual display component, such as video analytics, streaming to external systems, or custom image processing pipelines.

Key features:

  • Receives video frames in configurable pixel formats (RGB, RGBA, NV12, etc.)
  • Implements VisioForge.Core.Types.IVideoView for standard video view integration
  • Implements VisioForge.Core.Types.IVideoViewPushFrame for receiving frame data
  • Provides OnFrame event for frame processing subscribers
  • Supports both VideoFrame and VideoFrameX frame formats
  • No-op implementations of UI-specific methods (rendering, mouse events, etc.)
  • Platform-independent operation without UI dependencies
  • Minimal overhead for maximum processing performance

Common use cases:

  • Video analytics and computer vision processing without display
  • Frame extraction and image capture operations
  • Video streaming to custom network protocols
  • Integration with third-party processing libraries
  • Headless video recording and transcoding scenarios
  • Multi-stream processing without rendering overhead

Threading considerations:

  • Frame callbacks occur on the media pipeline thread
  • Subscribers should handle frames quickly or queue for background processing
  • No UI thread synchronization overhead

Performance characteristics:

  • Minimal memory allocation per frame
  • No rendering overhead for maximum throughput
  • Configurable pixel format to match processing requirements
  • Zero-copy frame delivery when possible
HelpLinks

Help links.

JPEGCallbackVideoView

A headless video view implementation that provides JPEG-encoded frame callbacks without visual rendering.

This class serves as a specialized callback-based video sink that receives video frames pre-encoded as JPEG images and forwards them to event handlers. Unlike VisioForge.Core.UI.CallbackVideoView which delivers raw pixel data, JPEGCallbackVideoView provides ready-to-use JPEG byte arrays, eliminating the need for frame encoding in subscriber code. Ideal for scenarios requiring JPEG images without UI rendering, such as motion JPEG streaming, snapshot systems, or web-based video delivery.

Key features:

  • Receives pre-encoded JPEG frame data as byte arrays
  • Implements VisioForge.Core.Types.IVideoView for standard video view integration
  • Provides OnJPEGFrame event for JPEG data processing
  • No-op implementations of UI-specific methods (rendering, mouse events, etc.)
  • Platform-independent operation without UI dependencies
  • Zero encoding overhead - frames arrive already JPEG-compressed
  • Memory-efficient delivery of compressed frame data

Common use cases:

  • Motion JPEG (MJPEG) streaming servers
  • Snapshot capture and storage systems
  • Web-based video monitoring dashboards
  • Network camera integration with JPEG output
  • Thumbnail generation for video content
  • Low-bandwidth video transmission scenarios
  • REST API video frame endpoints

Threading considerations:

  • Frame callbacks occur on the media pipeline thread
  • JPEG data is ready for immediate network transmission or file storage
  • Subscribers should handle data quickly or queue for background processing
  • No UI thread synchronization overhead

Performance characteristics:

  • Minimal memory allocation per frame
  • No rendering or encoding overhead
  • Compressed data reduces memory and network bandwidth requirements
  • JPEG quality and compression ratio configured at source level