Table of Contents

Class WMVEncoderBlock

Namespace
VisioForge.Core.MediaBlocks.VideoEncoders
Assembly
VisioForge.Core.dll

WMV (Windows Media Video) encoder block for Microsoft's proprietary video compression standard. This block provides WMV encoding capabilities using the VC-1 codec, offering excellent compression efficiency and quality optimized for Windows platforms and Microsoft ecosystem applications. Features advanced rate control, multiple encoding profiles, and seamless integration with Windows Media Player and Microsoft streaming technologies.

Key features:

  • VC-1 codec compression with multiple profiles (Simple, Main, Advanced)
  • Variable bitrate (VBR) and constant bitrate (CBR) encoding modes
  • Advanced rate control algorithms
  • Support for HD content up to 1080p
  • Temporal and spatial scalability
  • B-frame encoding for improved compression
  • Windows Media DRM integration capability

Common use cases:

  • Windows Media Player content distribution
  • Microsoft Silverlight streaming applications
  • Corporate video delivery on Windows networks
  • Xbox and Windows device playback
  • Legacy Windows media workflows
  • ASF container video content
  • Microsoft streaming services integration

While WMV has been largely superseded by newer standards like H.264 and H.265, it remains important for Windows-specific applications and legacy system compatibility where Microsoft codec support is guaranteed. Implements the VisioForge.Core.MediaBlocks.MediaBlock. Implements the VisioForge.Core.MediaBlocks.IMediaBlockInternals. Implements the IDisposable.

public class WMVEncoderBlock : MediaBlock, IMediaBlock, IDisposable, IMediaBlockInternals

Inheritance

Implements

Inherited Members

Extension Methods

Constructors

WMVEncoderBlock(WMVEncoderSettings)

Initializes a new instance of the VisioForge.Core.MediaBlocks.VideoEncoders.WMVEncoderBlock class. Creates a WMV encoder configured for Windows Media video compression with specified quality settings.

public WMVEncoderBlock(WMVEncoderSettings settings)

Parameters

settings WMVEncoderSettings

The WMV encoder settings defining compression quality, bitrate, and VC-1 profile parameters.

Properties

Input

Gets the primary input pad for receiving raw video frames.

public override MediaBlockPad Input { get; }

Property Value

MediaBlockPad

Inputs

Gets all input pads available on this block.

public override MediaBlockPad[] Inputs { get; }

Property Value

MediaBlockPad[]

Output

Gets the primary output pad for WMV-encoded video stream.

public override MediaBlockPad Output { get; }

Property Value

MediaBlockPad

Outputs

Gets all output pads available on this block.

public override MediaBlockPad[] Outputs { get; }

Property Value

MediaBlockPad[]

Settings

Gets or sets the WMV encoder settings controlling compression quality and encoding parameters.

public WMVEncoderSettings Settings { get; set; }

Property Value

WMVEncoderSettings

Type

Gets the block type identifier for the WMV encoder.

public override MediaBlockType Type { get; }

Property Value

MediaBlockType

Methods

Build()

Builds and initializes the WMV encoder pipeline. Creates the encoder with Windows Media compression settings and prepares it for VC-1 video encoding with specified quality and bitrate parameters.

public override bool Build()

Returns

bool

true if the encoder was successfully built; false if initialization failed.

CleanUp()

Performs cleanup of all resources associated with the WMV encoder. Disposes the encoder element and releases compression resources.

public void CleanUp()

Dispose(bool)

Releases unmanaged and - optionally - managed resources.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

GetCore()

Gets the core GStreamer element wrapper for advanced configuration.

public BaseElement GetCore()

Returns

BaseElement

The BaseElement wrapper for the WMV encoder.

GetDefaultSettings()

Gets the default WMV encoder settings with standard quality parameters. Provides a baseline configuration suitable for general-purpose Windows Media video encoding.

public static WMVEncoderSettings GetDefaultSettings()

Returns

WMVEncoderSettings

A WMVEncoderSettings instance with default quality and bitrate settings.

GetElement()

Gets the underlying GStreamer WMV encoder element.

public Element GetElement()

Returns

Element

The native GStreamer element performing WMV encoding.

IsAvailable()

Determines whether WMV encoding functionality is available on the current system. Requires the GStreamer WMV encoder plugin to be installed.

public static bool IsAvailable()

Returns

bool

true if WMV encoding is supported; otherwise, false.

IMediaBlockInternals.SetContext(MediaBlocksPipeline)

Sets the media pipeline context for this WMV encoder block.

void IMediaBlockInternals.SetContext(MediaBlocksPipeline pipeline)

Parameters

pipeline MediaBlocksPipeline

The parent media pipeline containing this block.

See Also