IMFVideoDisplayControl::GetCurrentImage method

Gets a copy of the current image being displayed by the video renderer.

Syntax

HRESULT GetCurrentImage(
  BITMAPINFOHEADER *pBih,
  BYTE             **pDib,
  DWORD            *pcbDib,
  LONGLONG         *pTimeStamp
);

Parameters

pBih

Pointer to a BITMAPINFOHEADER structure that receives a description of the bitmap. Set the biSize member of the structure to sizeof(BITMAPINFOHEADER) before calling the method.

pDib

Receives a pointer to a buffer that contains a packed Windows device-independent bitmap (DIB). The caller must free the memory for the bitmap by calling CoTaskMemFree.

pcbDib

Receives the size of the buffer returned in pDib, in bytes.

pTimeStamp

Receives the time stamp of the captured image.

Return Value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
MF_E_LICENSE_INCORRECT_RIGHTS
The content is protected and the license does not permit capturing the image.
MF_E_SHUTDOWN
The video renderer has been shut down.

Remarks

This method can be called at any time. However, calling the method too frequently degrades the video playback performance.

This method retrieves a copy of the final composited image, which includes any substreams, alpha-blended bitmap, aspect ratio correction, background color, and so forth.

In windowed mode, the bitmap is the size of the destination rectangle specified in IMFVideoDisplayControl::SetVideoPosition. In full-screen mode, the bitmap is the size of the display.

Requirements

   
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header evr.h
Library Strmiids.lib

See Also

Enhanced Video Renderer

IMFVideoDisplayControl

Using the Video Display Controls