IVMRWindowlessControl::GetNativeVideoSize method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetNativeVideoSize method retrieves the un-stretched video size and aspect ratio of the video.

Syntax

HRESULT GetNativeVideoSize(
  [out] LONG *lpWidth,
  [out] LONG *lpHeight,
  [out] LONG *lpARWidth,
  [out] LONG *lpARHeight
);

Parameters

[out] lpWidth

Pointer that receives the width of the native video rectangle.

[out] lpHeight

Pointer that receives the height of the native video rectangle.

[out] lpARWidth

Pointer that receives the aspect ratio width of the native video rectangle.

[out] lpARHeight

Pointer that receives the aspect ratio height of the native video rectangle.

Return value

If the method succeeds, it returns S_OK. Returns E_POINTER if all four input parameters are NULL.

Return code Description
VFW_E_WRONG_STATE
The VMR is not in windowless mode.

Remarks

If the VMR is not connected to an upstream filter, this method will succeed but all parameters will be set to zero.

If lpWidth is 640 and lpHeight is 480, then lpARWidth will be 4 and lpARHeight will be 3.

Requirements

Requirement Value
Minimum supported client Windows XP with SP1 [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IVMRWindowlessControl Interface

Using the Video Mixing Renderer