2.5.50 IDeckLinkWPFDX9ScreenPreviewHelper Interface

The IDeckLinkWPFDX9ScreenPreviewHelper interface may be used with a simple IDeckLinkScreenPreviewCallback implementation to provide DirectX based preview rendering in WPFapplications inferring the D3DImage surface.

A reference to an IDeckLinkWPFDX9ScreenPreviewHelper object is obtained from CoCreateInstance().

For examples demonstrating how to interface an IDeckLinkWPFDX9ScreenPreviewHelper object with D3DImage in a WPF application, see the CapturePreviewCSharp and SignalGenCSharp samples in the DeckLink SDK.

Related Interfaces

Interface

Interface ID

Description

IDeckLinkVideoFrame

IID_IDeckLinkVideoFrame

An IDeckLinkVideoFrame object interface is set for DirectX preview with IDeckLinkWPFDX9ScreenPreviewHelper::SetFrame()

2.5.50.1 IDeckLinkWPFDX9ScreenPreviewHelper::Initialize method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::Initialize();

The Initialize method prepares a DirectX 9 3D device to be used by the DeckLink API’s WPF preview helper.

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.5.50.2 IDeckLinkWPFDX9ScreenPreviewHelper::Render method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::Render();

The Render method should be called whenever the preview frame needs to be repainted. The frames to be displayed should be provided to IDeckLinkWPFDX9ScreenPreviewHelper::SetFrame().

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.5.50.3 IDeckLinkWPFDX9ScreenPreviewHelper::SetSurfaceSize method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::SetSurfaceSize(uint32_t width, uint32_t height);

The SetSurfaceSize method is used to set the size of render surface.

Parameters:
  • width – Width of surface in pixels.

  • height – Height of surface in pixels.

Return values:
  • E_INVALIDARG – Invalid value for parameters width or height

  • E_FAIL – Failure

  • S_OK – Success

2.5.50.4 IDeckLinkWPFDX9ScreenPreviewHelper::SetFrame method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::SetFrame(IDeckLinkVideoFrame *theFrame);

The SetFrame method will load a 2D or 3D IDeckLinkVideoFrame into a texture. This method is used to set the preview frame to display on the next call to IDeckLinkWPFDX9ScreenPreviewHelper::Render().

Depending on the rate and timing of calls to SetFrame and Render, some frames may not be displayed or may be displayed multiple times.

Parameters:

theFrame – The video frame to preview.

Return values:
  • E_FAIL – Failure

  • S_OK – Success

2.5.50.5 IDeckLinkWPFDX9ScreenPreviewHelper::Set3DPreviewFormat method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::Set3DPreviewFormat(BMD3DPreviewFormat previewFormat);

The Set3DPreviewFormat method is used to set the 3D preview format.

Parameters:

previewFormat – The 3D preview format. See BMD3DPreviewFormat for more details.

Return values:

S_OK – Success

2.5.50.6 IDeckLinkWPFDX9ScreenPreviewHelper::GetBackBuffer method

HRESULT IDeckLinkWPFDX9ScreenPreviewHelper::GetBackBuffer(void **backBuffer);

The GetBackBuffer method outputs the renderer back buffer than can be copied to front buffer in WPF render thread.

Parameters:

backBuffer – Pointer to renderer back-buffer.

Return values:
  • E_POINTER – The backBuffer parameter is invalid.

  • E_FAIL – Failure

  • S_OK – Success